Python 3.13 beta 是 Python 编译语言下一正式版本的预发布版本,包含多项针对语言、实现和标准库的改变。 针对实现的最大改变包括新的交互式解释器,以及对于去除全局解释器锁 (PEP 703) 和启用即时编译器 (PEP 744) 的实验性支持。 针对标准库的改变包括移除已弃用的 API 和模块,以及用户友好度和正确性方面的常规改进。
解释器的改进:
大幅改进的 交互式解释器 和 改进的错误消息。
在新的 交互式解释器 中,以及 回溯信息 和 文档测试 输出中的颜色支持。 这可以通过 PYTHON_COLORS and NO_COLOR 环境变量来禁用。
增加了 PEP 744: 基本的 JIT 编译器。 目前默认是禁用的(但以后可能启用)。 能够小幅度提升性能 – 我们预计在接下来的几个发布版中不断改进它。
PEP 667: 现在 locals() 内置函数在修改被返回的映射时具有 已定义语义。 Python 调试器及类似的工具现在即使在并发代码执行期间也能更可靠地在已优化的作用域中更新局部变量。
新的类型标注特性:
PEP 696: 类型形参 (typing.TypeVar, typing.ParamSpec 和 typing.TypeVarTuple) 现在可支持默认值。
PEP 702: 支持使用新的 warnings.deprecated() 装饰器在类型系统中对弃用进行标记。
PEP 742: 增加了 typing.TypeIs,提供更直观的类型细化行为。
PEP 705: 增加了 typing.ReadOnly,用于将 typing.TypedDict 的项标记为对类型检查器只读。
自由线程:
PEP 703: 当使用 --disable-gil 编译时 CPython 3.13 将支持在运行时禁用 global interpreter lock。 请参阅 自由线程 CPython 了解详情。
平台支持:
PEP 730: 现在 Apple 的 iOS 是官方支持的平台。 官方 Official Android 支持 (PEP 738) 也在计划中。
移除的模块:
PEP 594: 剩余的 19 个“死电池”已从标准库中移除: aifc, audioop, cgi, cgitb, chunk, crypt, imghdr, mailcap, msilib, nis, nntplib, ossaudiodev, pipes, sndhdr, spwd, sunau, telnetlib, uu 和 xdrlib。
此外还移除了 tkinter.tix 和 lib2to3 模块,以及 2to3 程序。
发布计划的变化:
PEP 602 (“Annual Release Cycle for Python”) 已更新:
Python 3.9 - 3.12 有一年半的完整支持,另加三年半的安全修正。
Python 3.13 及以后的版本有两年的完整支持,另加三年的安全修正。