Python 3.13.0 RC3 发布
10-03 09:37 来源:oschina 阅读(211)

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 中删除。