Python 3.13 更新亮点:即将到来的重大变化

发表时间: 2024-05-23 20:45

你好,我是坚持分享干货的 EarlGrey,翻译出版过《Python编程无师自通》、《Python并行计算手册》等技术书籍。


如果我的分享对你有帮助,请关注我,一起向上进击。

5月8日,Python 团队发布了 3.13 的第一个 beta 版本,这意味着 3.13 的所有新特性和变更都已冻结。本文将简要介绍该版本中的一些重要新特性和影响。

1. 更好的交互式解释器

Python 3.13 对交互式解释器进行了重大改进,并增强了错误信息。新的交互式解释器现在支持着色,从而提供了更具视觉吸引力的体验。

对颜色的支持也扩展到了回溯和 doctest 输出。用户可以通过 PYTHON_COLORS 和 NO_COLOR 环境变量禁用着色。

但要注意的是 ,这些改进目前只适用于Linux和Mac OS平台。

2. 实验性即时 (JIT) 编译

Python 引入了一种实验性的即时 (JIT) 编译器,启用后可加快某些 Python 程序的运行速度。JIT 编译器的工作原理是将专门的第 1 层字节码翻译成新的内部第 2 层中间表示法 (IR),经过优化后再翻译成机器码。在解释或翻译为机器代码之前,会对第 2 层中间表示法进行多次优化。

3. 试验性自由线程 CPython

CPython 现在支持在禁用全局解释器锁(GIL)的情况下运行,使用 -disable-gil 配置后可实现自由线程执行。通过并行运行线程,自由线程执行能更好地利用可用的 CPU 内核,这对专为线程设计的程序大有裨益。

4. 改进的错误报告和指导

最新版本改进了 Python 的错误跟踪。默认情况下,解释器在显示回溯时会将错误信息着色。另一项功能是,如果传递给函数的关键字不正确,错误信息会提示正确的关键字参数。

有时,当脚本与标准库模块同名时,Python 现在会提供详细的错误信息,并建议重命名模块,以便更好地理解。

python numpy.py
Traceback (most recent call last):
File "/home/numpy.py", line 1, in <module>
import numpy as np; np.array([1,2,3])
^^^^^^^^^^^^^^^^^^
File "/home/numpy.py", line 1, in <module>
import numpy as np; np.array([1,2,3])
^^^^^^^^
AttributeError: module 'numpy' has no attribute 'array' (consider renaming '/home/numpy.py' if it has the same name as a third-party module you intended to import)

5. 支持 iOS 平台

新增了对移动平台的支持,iOS 已成为官方支持的平台,对 Android 的支持也在开发中。

其他变更,请直接前往 Python 官方文档查看详细内容。

- EOF -

文章已经看到这了,别忘了在右下角点个“赞”和“在看”鼓励哦~


推荐阅读 点击标题可跳转

1、Python 项目工程化最佳实践

2、Python 可以比 C 还要快!

3、streamlit,一个超强的 Python 库

4、豆瓣8.9分的C++经典之作,免费送!

5、Python 3.12 版本有什么变化?

最近我开了一家淘宝店,名字叫【打破壁垒】,主打程序开发相关付费素材、工具的共享类商品,帮助大家降低试错和使用成本。欢迎大家关注。



回复关键词「 pybook03」,领取进击的Grey与小伙伴一起翻译的《Think Python 2e》电子版
回复关键词「书单02」,领取进击的Grey整理的 10 本 Python 入门书的电子版



告诉你更多细节干货


欢迎围观我的朋友圈

?每天更新所想所悟