news 2026/5/14 10:04:20

# 本文总结了 Python 3.5 到 3.14 各版本的主要语言特性和改进。

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
# 本文总结了 Python 3.5 到 3.14 各版本的主要语言特性和改进。

本文总结了 Python 3.5 到 3.14 各版本的主要语言特性和改进。

Python 3.5 (2015年9月)

主要特性

  1. 类型提示 (Type Hints)

    /* by 01022.hk - online tools website : 01022.hk/zh/regexsucha.html */ def greeting(name: str) -> str: return 'Hello ' + name
  2. PEP 492 - 异步 IO 支持

    • asyncawait关键字
    • 异步生成器和协程
  3. PEP 448 - 扩展的可迭代解包

    /* by 01022.hk - online tools website : 01022.hk/zh/regexsucha.html */ a, *b, c = [1, 2, 3, 4, 5] # a=1, b=[2,3,4], c=5
  4. 新增标准库模块

    • typing: 提供类型提示支持
    • asyncio: 异步 IO 框架
  5. 其他改进

    • @运算符用于矩阵乘法
    • os.scandir()用于高效目录遍历

Python 3.6 (2016年12月)

主要特性

  1. 格式化字符串字面值 (f-strings)

    name = "World" print(f"Hello, {name}!")
  2. PEP 526 - 变量注解

    x: int = 10 y: List[str] = []
  3. PEP 515 - 数字字面值的下划线分隔符

    large_number = 1_000_000_000
  4. 异步生成器和异步推导式

    async def async_gen(): for i in range(5): yield i result = [i async for i in async_gen()]
  5. 新的标准库模块

    • secrets: 生成密码学安全的随机数
  6. 语法改进

    • 字典可以保持插入顺序
    • 变量注解允许在函数注释中使用->

Python 3.7 (2018年6月)

主要特性

  1. 数据类 (Data Classes)

    from dataclasses import dataclass @dataclass class Point: x: float y: float
  2. PEP 563 - 延迟评估的类型注解

    • 通过from __future__ import annotations实现
    • 类型注解在运行时不会被求值
  3. 上下文变量 (Context Variables)

    • 用于在异步代码中替代线程局部存储
  4. asyncio 改进

    • asyncio.run()函数简化异步程序运行
    • asyncio.create_task()创建任务
  5. 语法改进

    • 更简洁的异常链语法:raise new_exc from old_exc

Python 3.8 (2019年10月)

主要特性

  1. 赋值表达式 (海象运算符 :=)

    if (n := len(a)) > 10: print(f"List is too long ({n} elements, expected <= 10)")
  2. PEP 572 - 位置参数只标记

    def f(a, b, /, c, d, *, e, f): # a, b 只能按位置传递 # e, f 只能按关键字传递
  3. f-strings 改进

    • 支持f"{var=}"语法,自动包含变量名和值
  4. 新的标准库模块

    • importlib.metadata: 访问包元数据
    • typing.TypedDict: 类型化字典
  5. 性能改进

    • 速度提升约 10-15%
    • pickle序列化/反序列化速度提升

Python 3.9 (2020年10月)

主要特性

  1. 字典合并与更新运算符

    d1 = {'a': 1} d2 = {'b': 2} d3 = d1 | d2 # {'a': 1, 'b': 2} d1 |= d2 # d1 现在是 {'a': 1, 'b': 2}
  2. PEP 584 - 类型提示改进

    • list[str]替代List[str]
    • dict[str, int]替代Dict[str, int]
  3. 新的字符串方法

    • str.removeprefix(): 移除前缀
    • str.removesuffix(): 移除后缀
  4. 时区支持改进

    • zoneinfo模块提供 IANA 时区数据库支持
  5. 其他改进

    • 放宽了装饰器语法限制
    • math.lcm()math.gcd()函数

Python 3.10 (2021年10月)

主要特性

  1. 结构模式匹配 (Structural Pattern Matching)

    match status: case 200: print("OK") case 404: print("Not Found") case _: print("Other")
  2. 更精确的类型提示

    • Union[str, int]可简化为str | int
    • Optional[str]可简化为str | None
  3. PEP 647 - 用户定义的类型守卫

    def is_str_list(val: list[object]) -> TypeGuard[list[str]]: return all(isinstance(x, str) for x in val)
  4. 改进的错误信息

    • 更精确的语法错误定位
    • 更友好的错误提示

Python 3.11 (2022年10月)

主要特性

  1. 显著的性能提升

    • 速度提升约 10-60%
    • 平均比 Python 3.10 快 25%
  2. 异常改进

    • 异常回溯信息更详细
    • 显示异常发生的精确位置
  3. PEP 673 - Self 类型

    class Person: def set_name(self, name: str) -> Self: self.name = name return self
  4. 异步迭代器支持

    • async for支持异步迭代器
  5. 新的标准库功能

    • tomllib: 解析 TOML 文件
    • dataclasses: 支持kw_only参数

Python 3.12 (2023年10月)

主要特性

  1. 更简洁的类型注解语法

    def greet(name: str, /, *, greeting: str = "Hello") -> str: return f"{greeting}, {name}!"
  2. PEP 695 - 类型变量注解

    type Point[T] = tuple[T, T] def scale[ScaleT](p: Point[ScaleT], factor: ScaleT) -> Point[ScaleT]: return (p[0] * factor, p[1] * factor)
  3. PEP 701 - f-strings 语法改进

    • 支持更复杂的表达式和嵌套
  4. 性能改进

    • 继续优化速度
    • 减少内存使用
  5. 标准库增强

    • pathlib改进
    • json模块性能提升

Python 3.13 (预计2024年10月)

主要特性(预发布版本)

  1. 进一步的性能优化

    • 持续改进解释器速度
    • 内存使用优化
  2. 语法改进

    • 可能会有更多类型系统增强
  3. 标准库更新

    • 模块重组和改进
    • 移除过时的功能
  4. 异步编程增强

    • 继续改进 asyncio 模块

Python 3.14 (规划中)

预期特性(基于社区讨论)

  1. 性能继续提升

    • 可能引入新的优化技术
  2. 类型系统增强

    • 更完善的类型检查支持
  3. 标准库现代化

    • 更新和改进现有模块
  4. 潜在的新功能

    • 基于社区需求的新特性

总结

Python 版本迭代中,主要的改进方向包括:

  • 性能提升:几乎每个版本都有显著的速度和内存优化
  • 类型系统增强:从 3.5 的类型提示开始,不断完善类型系统
  • 异步编程支持:从 3.5 的 async/await 开始,持续改进异步编程体验
  • 语法简化:引入更简洁的语法(如 f-strings、海象运算符等)
  • 标准库现代化:添加新模块,改进现有模块

这些改进使 Python 成为更强大、更高效、更易用的编程语言。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 8:23:06

sql窗口函数

mysql窗口函数&#xff1a;告别繁琐子查询在处理排名统计、分组内对比、累计计算这类需求时&#xff0c;你是不是还在写多层子查询、反复关联表&#xff1f;mysql窗口函数就是为解决这类问题而生的高效工具——它能在不聚合数据的前提下&#xff0c;对指定数据集&#xff08;窗…

作者头像 李华
网站建设 2026/5/1 6:49:13

打破制造业“数据孤岛”:2026年ERP和MES系统集成如何驱动降本增效?

行业报告显示&#xff0c;超过六成的数据集成项目因技术架构不合理或工具选型失误而推倒重来。系统割裂与数据孤岛仍是核心痛点。2026年&#xff0c;制造业与零售电商在数字化转型中的核心痛点&#xff0c;依然是系统割裂与数据孤岛。行业调研揭示&#xff0c;超过80%的企业在系…

作者头像 李华
网站建设 2026/5/2 2:02:07

【数据分享】上市公司高管风险偏好数据+dofile(2007-2024年)

而今天要限时免费分享的数据就是上市公司高管风险偏好数据dofile&#xff08;2007-2024年&#xff09; 数据介绍 数据概况 数据名称&#xff1a;上市公司高管风险偏好数据dofile&#xff08;2007-2024年&#xff09; 数据年份&#xff1a;2007-2024 年 数据范围&#xff1a…

作者头像 李华
网站建设 2026/5/1 9:56:55

【数据分享】安徽省路网数据安徽省路网分类数据(2025年)

而今天要说明数据就是安徽省路网数据安徽省路网分类数据(2025年) 数据概况 数据含城市次干道、城市支路、城市主干道、高架及快速路、郊区乡村道路、内部道路、人行道路、自行车道等&#xff08;具体请看截图&#xff0c;有些省份可能无法分类出自行车道&#xff09;。 详情…

作者头像 李华
网站建设 2026/4/28 17:55:50

没显卡怎么跑Qwen3-Reranker?云端GPU 1小时1块,小白5分钟上手

没显卡怎么跑Qwen3-Reranker&#xff1f;云端GPU 1小时1块&#xff0c;小白5分钟上手 作为一个前端开发者&#xff0c;你可能经常被各种新技术吸引&#xff0c;比如最近发布的Qwen3-Reranker模型。但当你兴冲冲地想体验一下时&#xff0c;却发现自己的MacBook没有独立显卡&…

作者头像 李华
网站建设 2026/5/10 20:38:52

FLUX.1-dev创意工作流:自由职业者用云端GPU接单神器

FLUX.1-dev创意工作流&#xff1a;自由职业者用云端GPU接单神器 你是不是也遇到过这种情况&#xff1a;客户发来一个复杂的插画需求&#xff0c;提示词写得满满当当&#xff0c;刚点下“生成”按钮&#xff0c;电脑风扇就疯狂咆哮&#xff0c;几秒后直接蓝屏重启&#xff1f;攒…

作者头像 李华