Python 3.13.0发布

Python 3.13.0 是 Python 编程语言的最新主要版本,与 Python 3.12 相比,它包含许多新功能和优化。(与上一个候选版本 3.13.0rc3 相比,3.13.0 包含两个小错误以及一些文档和测试更改。)

与 3.12 相比,3.13 系列的主要新功能 新功能

  • 基于 PyPy 的全新改进型交互式解释器,具有多行编辑和颜色支持以及彩色异常回溯功能。
  • 实验性的自由线程构建模式,可禁用全局解释器锁,从而允许线程更并发地运行。构建模式也可作为 Windows 和 macOS 安装程序中的一项实验性功能使用。
  • 初步的、实验性的 JIT,为显著的性能提升奠定了基础。
  • locals() 内置函数(及其 C 等效函数)现在在改变返回的映射时具有明确定义的语义,这使得调试器能够更一致地运行。
  • 现在包含 mimalloc 的修改版本,可选,但如果平台支持则默认启用,并且是自由线程构建模式所必需的。
  • 文档字符串现在已删除其前导缩进,从而减少了内存使用量和 .pyc 文件的大小。(大多数处理文档字符串的工具已删除前导缩进。)
  • dbm 模块有一个新的 dbm.sqlite3 后端,在创建新文件时默认使用。
  • 支持的最低 macOS 版本从 10.9 更改为 10.13 (High Sierra)。以后将不再支持较旧的 macOS 版本。
  • WASI 现在是 Tier 2 支持的平台。Emscripten 不再是官方支持的平台(但 Pyodide 继续支持 Emscripten)。
  • iOS 现在是 Tier 3 支持的平台。
  • Android 现在是 Tier 3 支持的平台。
“Tier 3 支持/第 3 级支持”的主要意义在于 Python 3.13 现在已通过 iOS 和 Android 上的测试套件,每次更改后都会自动重新测试,并且开发团队将尽合理努力来维护这一点。

这些平台仍然没有官方的 Python 下载,因此将 Python 嵌入移动应用程序的推荐方法是使用文档中链接的第三方工具之一:

类型

  • 支持类型参数中的类型默认值。
  • 一种新的类型缩小注释,types.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 的最佳新功能 1、新的 Python REPL

  • 块级编辑,这对于经常使用代码或大量使用 REPL 的人来说是一个巨大的帮助
  • 智能粘贴:在新的 REPL 中无缝粘贴代码,新的 REPL 现在知道您何时粘贴代码,并且它会执行您所希望的操作!
  • 智能复制:得益于历史模式,F2复制在 REPL 中输入的代码变得更加容易
  • 小细节:exit退出时,Ctrl-L即使在 Windows 上也会清除屏幕,按 Tab 键会插入 4 个空格
2、Git 友好的虚拟环境
  • 虚拟环境现在默认被 git 忽略(它们有自己的自忽略.gitignore文件,非常棒),有了 Python 3.13,您将再也不需要 git-ignore 虚拟环境了!
3、Python 调试器 (PDB) 改进
  • PDB 得到了 2 个修复,使其不再那么令人沮丧:断点从breakpoint()行开始,而不是之后,即使以help、list、next或其他 PDB 命令 开头,运行 Python 表达式也能正常工作
  • PDB 中更简单的 Python 语句:如果命令看起来像 Python 代码,pdb就会将其作为 Python 代码运行!