Python 3.10 前几天刚发布。
Python 3.11 据说性能可以提升 2 - 5 倍(2021/05/18, 关于 CPython 的 Shannon Plan),期待!
回顾以下 Python 的版本历史。
- Python 0.9 - 1991/02 维基百科
- Python 1.0 - 1994/02 (v1.0.1)
- Python 1.1 - 1994/10
- Python 1.2 - 1995/04
- Python 1.3 - 1995/10
- Python 1.4 - 1996/10
- Python 1.5 - 1997/12
- Python 2.0 - 2000/10
- Python 2.1 - 2001/04
- Python 2.2 - 2002/03
- Python 2.3 - 2003/09 (v2.3.1)
- Python 2.4 - 2004/11
- Python 2.5 - 2006/09
- Python 2.6 - 2008/10
- Python 2.7 - 2010/07 这个时候 3.0,3.1 已经发布
- Python 3.0 - 2008/12
- Python 3.1 - 2009/06
- Python 3.2 - 2011/02
- Python 3.3 - 2012/09
- Python 3.4 - 2014/03
- Python 3.5 - 2015/09
- Python 3.6 - 2016/12
- Python 3.7 - 2018/06
- Python 3.8 - 2019/10
- Python 3.9 - 2020/10
- Python 3.10 - 2021/10
- Python 3.11 -
- Python 3.12 -
- Python 3.13 -
- Python 3.14 -
Python 路线汇总
- 类型系统内建化(3.5 → 3.12):从“动态语言 + typing插件” → “渐进式静态类型语言”
- typing(3.5)
- 泛型内建(3.9)
- 新泛型语法(3.12)
- 并发模型升级(3.4 → 3.14):从“单线程事件循环” → “多核并发模型重构”
- asyncio(3.4)
- async/await(3.5)
- contextvars(3.7)
- TaskGroup(3.11)
- subinterpreters + no-GIL(3.13+)
- 解释器性能工程(3.11 → 3.14):挑战“解释型性能天花板”
- 自适应解释器(3.11)
- JIT(3.13)
- 无 GIL(3.13+)
各版本变更记录
-
结合社区信息,Python 3.14 开发者应重点关注以下核心变更:
- 语言语法:新增模板字符串(t-string)实现延迟求值;标注(Annotations)改为延迟求值,提升性能并简化前向引用。
- 并发模型:标准库正式支持子解释器(concurrent.interpreters)及自由线程模式(无 GIL 构建),重构高并发编程范式。
- 工具链:REPL 默认支持语法高亮,错误消息进一步优化。
-
Python 3.13 主要聚焦于交互体验、并发实验与类型系统的现代化升级:
- 并发与性能:实验性支持无 GIL 自由线程模式(PEP 703)及 JIT 编译器(PEP 744)。
- 类型系统:类型参数(TypeVar)支持默认值(PEP 696),新增
TypeIs细化守卫。 - 清理与语义:移除老旧“死电池”模块,明确
locals()修改语义以提升调试器稳定性。
-
Python 3.12 主要围绕语法解放、类型系统现代化及底层并发实验进行了升级:
- 语法与体验:f-string 从“字符串语法糖”升级为“正式语法结构”(支持多行、嵌套、反斜杠);错误提示引入“Did you mean”智能推荐。
- 类型系统:引入泛型类/函数新语法(
list[T])及type语句声明别名;新增@override装饰器。 - 并发与底层:实验性支持子解释器独立 GIL(PEP 684);Python 代码可实现缓冲区协议(PEP 688)。
-
Python 3.11 的核心开发变动如下:
- 性能飞跃:引入自适应解释器,平均提速 25–60%,无需改代码即可受益。
- 异常重构:新增
ExceptionGroup与except*语法,支持批量处理异常;异常对象支持添加注释(add_note)。 - 类型系统:引入
Self类型、Required/NotRequired标记及可变泛型(TypeVarTuple),强化静态类型支持。 - 工具链:标准库内置
tomllib解析 TOML;错误回溯精确到列级别,大幅提升调试效率。 - 并发模型:引入
asyncio.TaskGroup(结构化并发),配合ExceptionGroup实现任务生命周期绑定与异常聚合处理
-
Python 3.10 的核心开发变动如下:
- 结构化模式匹配:引入
match...case语句(PEP 634),支持对数据结构进行深度解构与匹配,但语义复杂度较高,社区接受度存在分歧(并非 switch 替代品)。 - 类型注解简化:支持
X | Y联合类型语法(PEP 604)替代Union[X, Y],并引入TypeAlias明确声明类型别名。 - 错误提示增强:语法错误信息更精确,明确提示缺失的括号、引号等,大幅提升调试效率。
- 上下文管理器:
with语句支持括号内多行换行,改善长资源列表的可读性。
- 结构化模式匹配:引入
-
Python 3.9 的核心开发变动如下:
- 语法与类型:字典支持合并运算符
|/|=;内置类型泛型化(PEP 585),类型注解可直接用list[str]替代typing.List。 - 工具链升级:引入
removeprefix()/removesuffix()字符串方法;标准库新增zoneinfo模块处理时区。 - 底层重构:解释器启用 PEG 解析器,为后续语法特性(如 3.10 的 match-case)铺路。
- 语法与类型:字典支持合并运算符
-
Python 3.8 的核心开发变动如下:
- 语法革新:引入海象运算符
:=,支持在表达式中赋值;函数参数支持/语法定义仅限位置参数。 - 调试增强:f-string 支持
=自文档化输出(如f'{x=}'),大幅简化调试流程。 - 类型系统:
typing模块新增TypedDict、Literal、Final等工具,强化静态类型检查能力。 - asyncio debug improvements
- 语法革新:引入海象运算符
-
Python 3.7 的核心开发变动如下:
- 数据类与类型:引入
@dataclass自动生成模板代码;支持延迟求值(from __future__ import annotations)解决类型前向引用问题。 - 异步与调试:
async/await正式成为保留关键字;asyncio API 基本稳定,进入可规模化生产阶段;新增breakpoint()内置函数快速进入调试器。 - 规范与工具:字典插入顺序正式成为语言规范;新增
contextvars模块支持异步上下文变量。
- 数据类与类型:引入
-
Python 3.6 的核心开发变动如下:
- 语法革命:引入 f-string(
f"{var}")彻底改变字符串格式化方式;支持变量类型注解(x: int)为静态类型检查奠基。 - 异步生态:支持异步生成器(
async for)与异步推导式,完善了asyncio生态。 - 性能与规范:字典类型重构,内存占用减少约 20–25%,且保留插入顺序成为正式语言规范。
- 语法革命:引入 f-string(
-
Python 3.5 的核心开发变动如下:
- 异步革命:引入
async/await关键字,原生支持协程,奠定了现代 Python 异步编程的基础。 - 类型系统:新增
typing模块,正式引入类型注解(Type Hints),开启了 Python 静态类型检查的新纪元。 - 语法与运算:新增矩阵乘法运算符
@;支持*/**在函数调用中的扩展解包(PEP 448)。
- 异步革命:引入
-
Python 3.4 的核心开发变动如下:
- 异步与工具链:引入
asyncio模块奠定异步 I/O 基础;内置ensurepip和enum模块,完善标准库工具链。 - 路径与类型:新增
pathlib模块提供面向对象路径操作;functools增加单分派泛型函数 (@singledispatch)。 - 诊断与统计:新增
tracemalloc模块追踪内存分配;新增statistics模块提供基础统计计算功能。
- 异步与工具链:引入
-
Python 3.3 的核心开发变动如下:
- 生成器与包管理:引入
yield from语法支持生成器委托;内置venv模块提供原生虚拟环境支持。 - 导入系统:支持隐式命名空间包(无需
__init__.py);基于importlib重写导入机制。 - 工具与性能:新增
unittest.mock模块用于测试;引入字典键共享优化内存占用。
- 生成器与包管理:引入
-
Python 3.2 的核心开发变动如下:
- 并发与工具:新增
concurrent.futures模块提供线程/进程池高级接口;新增argparse模块作为标准命令行解析工具。 - 缓存与装饰器:
functools引入@lru_cache装饰器实现函数结果缓存;contextlib提供@contextmanager简化上下文管理器编写。 - 系统与性能:定义稳定 ABI(PEP 384)改善 C 扩展兼容性;优化 GIL 实现与集合成员测试性能。
- 并发与工具:新增
-
Python 3.1 的核心开发变动如下:
- 数据结构:引入
collections.OrderedDict(有序字典)与collections.Counter(计数器),极大丰富了标准库的数据处理能力。 - 格式化增强:
str.format()支持自动字段编号("{} {}")与千位分隔符({:,}),显著提升字符串与数字格式化便利性。 - 语法与工具:
with语句支持多上下文管理器(with a, b:);新增importlib模块提供导入系统的纯 Python 实现。
- 数据结构:引入
-
Python 3.0 是首个不兼容 Python 2.x 的版本(Py3K),核心开发变动如下:
- 语法与类型:
print从语句变为函数(print());str统一为 Unicode,新增bytes类型处理二进制数据;整数除法/返回浮点数。 - 内置函数:
range()、map()、filter()、zip()等改为返回迭代器而非列表;移除xrange(),reduce()移至functools。 - 语法清理:引入
nonlocal关键字;异常捕获语法改为except E as e:;移除经典类(old-style classes)和<>运算符。
- 语法与类型: