Python 3.13 现已正式发布,这是一个 Python 编程语言的最新主要版本。与 Python 3.12 相比,此版本包含许多新功能和优化。(与上一个候选版本 3.13.0rc3 相比,3.13.0 包含两个小错误修复以及一些文档和测试更改。)
Python 3.13 中的一些主要新功能和变化包括:
新功能
- 基于 PyPy 的全新改进的交互式解释器,具有多行编辑和颜色支持,以及彩色异常回溯功能。
- 一种实验性的自由线程构建模式,可禁用 Global Interpreter Lock (全局解释器锁),允许线程更并发地运行,构建模式在 Windows 和 macOS 安装程序中也作为实验性功能提供。
- 初步的实验性 JIT,为显著的性能改进奠定了基础。
-
locals()
内置函数(及其 C 等效函数)现在在更改返回的映射时具有定义明确的语义,这使调试器能够更一致地运行。 - (循环)垃圾回收器现在是增量的,这应该意味着在具有大量对象的程序中进行回收的暂停时间更短。
- 现在包含 mimalloc 的修改版本,该版本是可选的,但如果平台支持,则默认启用,并且对于自由线程构建模式是必需的。
- 文档字符串现在去除了其前导缩进,从而减少了内存使用和 .pyc 文件的大小。(大多数处理 doc 字符串的工具已经删除了前导缩进)
- dbm 模块有 一个新的 dbm.sqlite3 后端,在创建新文件时默认使用该后端。
- 支持的最低 macOS 版本已从 10.9 更改为 10.13 (High Sierra)。今后将不支持较旧的 macOS 版本。
- WASI 现在是 Tier 2 支持平台,Emscripten 不再是官方支持的平台(但 Pyodide 继续支持 Emscripten)。
- iOS 现在是 Tier 3 支持的平台。
- Android 现在也是 Tier 3 支持的平台。
Typing
- 支持类型参数中的类型默认值。
- 新的类型缩小注释,
typing.TypeIs
- TypeDicts 中只读项的新注释。
- 用于标记类型系统中的弃用的新注释 。
删除和新的弃用
- PEP 594(从标准库中删除没用的模块) 计划删除许多已弃用的模块:
aifc
,audioop
,chunk
,cgi
,cgitb
,crypt
,imghdr
,mailcap
,msilib
,nis
,nntplib
,ossaudiodev
,pipes
,sndhdr
,spwd
,sunau
,telnetlib
,uu
,xdrlib
,lib2to3
- 删除了各种标准库模块中许多其他已弃用的类、函数和方法。
- C API 删除和弃用。(Alpha 1 中的一些删除在 Alpha 2 中被撤销,因为这些删除目前被认为太具有破坏性。)
- 新的弃用内容,其中大部分计划从 Python 3.15 或 3.16 中删除。
有关 Python 3.13 更改的更多详细信息,可参阅 Python 3.13 中的新增功能。