想学Python高级编程?这个技巧你不能错过!

简介: 高级编程,第一讲

前言

熟悉Python的朋友都知道,Python有一个让人又爱又恨的特点:数据类型的定义和使用非常的灵活。

在编写一个简易脚本的时候,这个特点让编程难度显著下降;但如果你需要编写一个大型程序,而且还需要多人协作时,没有类型定义的数据类型,真的让人崩溃!

也许Python的维护者也发现了这个问题,从Python3.5开始加入了类型提示的功能,不仅能对基础数据类型提示,也可以对自定义的类进行提示。

今天我们就来一起学习一下。

提示方法

以下所有代码,都有上下2部分,它们的运行结果都是一致的,主要区别是:

  • 上:未使用类型提示的代码
  • 下:使用了类型提示的代码

1、变量

未使用类型提示的

name = '程序员晚枫'
fans = 24

使用了类型提示的

name: str = '程序员晚枫'
fans: int = 24

2、方法

未使用类型提示的

def info(name, fans):
    return f'我的小破站是:{name},粉丝数是:{fans}'

使用了类型提示的

def info(name: str, fans: str) -> str:
    return f'我的小破站是:{name},粉丝数是:{fans}'

3、集合

未使用类型提示的

dict_of_users = {
   
   
    '小破站': "程序员晚枫",
    '小红薯': "程序员晚枫",
    '某乎': 1
}

使用了类型提示的

dict_of_users: dict[int, str | int] = {
   
   
    '小破站': "程序员晚枫",
    '小红薯': "程序员晚枫",
    '某乎': 1
}

4、自定义的类

未使用类型提示的

class Account:
    def __init__(self, name, fans):
        self.name = name
        self.fans = fans


def info(account):
    return f'我的小破站是:{account.name},粉丝数是:{account.fans}'

使用了类型提示的

class Account:
    def __init__(self, name: str, fans: int):
        self.name = name
        self.fans = fans


def info(account: Account) -> str:
    return f'我的小破站是:{account.name},粉丝数是:{account.fans}'

写在最后

最后要提醒一下大家,以上所有提示,只是为了更好的编写和维护程序,而不是真正实现了数据类型定义的功能。

所以它们只对编写程序的人阅读代码时有用,对程序运行时来说是没有用的。

相关文章
|
2月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
258 102
|
2月前
|
数据采集 机器学习/深度学习 算法框架/工具
Python:现代编程的瑞士军刀
Python:现代编程的瑞士军刀
292 104
|
2月前
|
人工智能 自然语言处理 算法框架/工具
Python:现代编程的首选语言
Python:现代编程的首选语言
247 103
|
2月前
|
机器学习/深度学习 人工智能 数据挖掘
Python:现代编程的首选语言
Python:现代编程的首选语言
184 82
|
25天前
|
Python
Python编程:运算符详解
本文全面详解Python各类运算符,涵盖算术、比较、逻辑、赋值、位、身份、成员运算符及优先级规则,结合实例代码与运行结果,助你深入掌握Python运算符的使用方法与应用场景。
153 3
|
25天前
|
数据处理 Python
Python编程:类型转换与输入输出
本教程介绍Python中输入输出与类型转换的基础知识,涵盖input()和print()的使用,int()、float()等类型转换方法,并通过综合示例演示数据处理、错误处理及格式化输出,助你掌握核心编程技能。
339 3
|
1月前
|
并行计算 安全 计算机视觉
Python多进程编程:用multiprocessing突破GIL限制
Python中GIL限制多线程性能,尤其在CPU密集型任务中。`multiprocessing`模块通过创建独立进程,绕过GIL,实现真正的并行计算。它支持进程池、队列、管道、共享内存和同步机制,适用于科学计算、图像处理等场景。相比多线程,多进程更适合利用多核优势,虽有较高内存开销,但能显著提升性能。合理使用进程池与通信机制,可最大化效率。
235 3
|
26天前
|
Java 调度 数据库
Python threading模块:多线程编程的实战指南
本文深入讲解Python多线程编程,涵盖threading模块的核心用法:线程创建、生命周期、同步机制(锁、信号量、条件变量)、线程通信(队列)、守护线程与线程池应用。结合实战案例,如多线程下载器,帮助开发者提升程序并发性能,适用于I/O密集型任务处理。
199 0
|
2月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的多面手
Python:现代编程的多面手
72 0
|
2月前
|
存储 人工智能 算法
Python实现简易成语接龙小游戏:从零开始的趣味编程实践
本项目将中国传统文化与编程思维相结合,通过Python实现成语接龙游戏,涵盖数据结构、算法设计与简单AI逻辑,帮助学习者在趣味实践中掌握编程技能。
281 0

推荐镜像

更多