page contents

Python 3.13 发布了,速度嘎嘎快!

Python 3.13 是 Python 编程语言的最新稳定版本,对语言、实现和标准库进行了一系列更改。最大的变化包括一个新的交互式解释器、对在自由线程模式下运行的实验性支持和即时编译器

attachments-2024-10-mw6yCU5S67130de976e5f.png国庆后Python发布了新版本,有哪些新特性呢?一起来看看吧~

发布亮点

Python 3.13 是 Python 编程语言的最新稳定版本,对语言、实现和标准库进行了一系列更改。最大的变化包括一个新的交互式解释器、对在自由线程模式下运行的实验性支持和即时编译器

错误消息继续改进,现在默认情况下回溯以彩色突出显示。locals()内置函数现在已定义更改返回映射的语义,并且类型参数现在支持默认值。

库更改包括删除已弃用的 API 和模块,以及对用户友好性和正确性的常规改进。几个旧标准库模块现已被删除,因为它们在 Python 3.11 中已被弃用。

解释器改进

  • 更好的交互式解释器:基于PyPy 项目代码的新交互式shell
    • 多行编辑并保存历史记录
    • 支持 REPL 特定的命令如help,exit、quit,而无需将它们作为函数调用
    • 默认情况下启用彩色的提示和回溯
    • F1使用单独的命令历史记录进行交互式帮助浏览
    • 使用它的历史记录浏览F2可以跳过输出以及 >>>和...提示。
    • 使用“粘贴模式”F3可以更轻松地粘贴更大的代码块(F3再次按下可返回常规提示)。
  • 改进的错误信息
    • 解释器现在在终端中显示回溯时默认使用颜色。此功能可以 通过新的PYTHON_COLORS环境变量以及规范NO_COLOR和FORCE_COLOR环境变量。
    • 一个常见的错误是编写与标准库模块同名的脚本。当这导致错误时,我们现在会显示更有用的错误消息:

类似地,如果脚本与其尝试导入的第三方模块同名并且导致错误,我们还会显示更有用的错误消息:

  • 其他
    • 自由线程的 CPython
    • 实验性的即时 (JIT) 编译器
    • 定义突变语义locals()
    • 支持移动平台

Python 数据模型改进

  • __static_attributes__self.X存储类主体中任何函数所访问的属性的名称。
  • __firstlineno__记录类定义的第一行号。

标准库的重大改进

  • 添加新的PythonFinalizationError异常,当操作在完成过程中被阻止时引发。
  • 该argparse模块现在支持弃用的命令行选项、位置参数和子命令。
  • 新功能base64.z85encode()支持对Z85 数据base64.z85decode() 进行编码和解码。
  • 该copy模块现在具有一个copy.replace()功能,支持许多内置类型和定义该__replace__()方法的任何类。
  • 新dbm.sqlite3模块现在是默认dbm后端。
  • 该os模块有一套新功能, 可用于处理 Linux 的计时器通知文件描述符。
  • 该random模块现在有一个命令行界面。

安全改进

  • ssl.create_default_context()设置了ssl.VERIFY_X509_PARTIAL_CHAIN和ssl.VERIFY_X509_STRICT作为默认旗标。

C API 改进

  • 该Py_mod_gil插槽现在用于指示扩展模块支持在禁用GIL 的情况下运行。
  • 已添加PyTime C API,提供对系统时钟的访问。
  • PyMutex是一个新的轻量级互斥锁,占用一个字节。
  • 有一套新的函数 用于生成PEP 669监控 C API 中的事件。

新的类型标注特性

  • 类型参数(typing.TypeVar、、typing.ParamSpec和typing.TypeVarTuple)现在支持默认值
  • 新的warnings.deprecated()装饰器增加了在类型系统和运行时标记弃用的支持
  • typing.ReadOnly可用于将某项标记为 typing.TypedDict类型检查器的只读
  • typing.TypeIs提供更直观的类型缩小行为,作为替代typing.TypeGuard

平台支持

  • Apple 的 iOS 现在是官方支持的平台,第 3 级。
  • Android 现在是官方支持的平台,第 3 级。
  • wasm32-wasi现在支持二级平台。
  • wasm32-emscripten不再是官方支持的平台。

重要删除:

  • 19个遗留的stdlib 模块已从标准库中删除
  • 删除2to3工具和lib2to3模块(在 Python 3.11 中已弃用)。
  • 删除该tkinter.tix模块(Python 3.6 中已弃用)。
  • 删除该locale.resetlocale()功能。
  • 删除http://typing.io和typing.re命名空间。
  • 删除链接的classmethod描述符。

发布时间表变更

Python 年度发布周期已更新,将新版本的完整支持bugFix期限延长至两年,此更新的政策意味着:

  • Python 3.9–3.12 有一年半的全面支持,随后是三年半的安全修复。
  • Python 3.13 及更高版本有两年的全面支持,随后是三年的安全修复。

更多相关技术内容咨询欢迎前往并持续关注好学星城论坛了解详情。

想高效系统的学习Python编程语言,推荐大家关注一个微信公众号:Python编程学习圈。每天分享行业资讯、技术干货供大家阅读,关注即可免费领取整套Python入门到进阶的学习资料以及教程,感兴趣的小伙伴赶紧行动起来吧。

attachments-2022-05-rLS4AIF8628ee5f3b7e12.jpg

  • 发表于 2024-10-19 09:40
  • 阅读 ( 140 )
  • 分类:Python开发

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
小柒
小柒

1678 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1678 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章