Python 3.13.0 RC3 现已发布。公告称,除非发现任何严重错误,否则此版本预计将成为 3.13.0 的最终版本。3.13.0 的正式版本现定于 2024-10-07 星期一发布。
RC3 是一个计划外的候选版本,源于临时发现的几个问题。主要是由于增量循环垃圾收集器(在 alpha 版本中引入)导致特定工作负载的性能显著下降。项目团队决定在 3.13 中回滚垃圾收集器更改(并在 3.14 中继续改进它),应用许多其他重要的错误修复,并推出新的候选版本。
从现在开始,3.13 系列中将不会有任何 ABI 变化(自测试版发布以来也没有发生过任何变化)。
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 中删除。
更多详情可查看:https://pythoninsider.blogspot.com/2024/10/python-3130-release-candidate-3-released.html