新版Python 3.13发布,官方支持iOS和Android,引入无全局解释器锁(GIL)

文摘   2024-11-19 11:03   湖南  

Python 3.13 于 2024 年 10 月 7 日发布,相比于前一个版本 3.12,它引入了一系列令人期待的新特性和改进。本文将详细介绍 Python 3.13 的新变化,包括语言的改进、实现方式的优化以及标准库的更新等。

Python 3.13 的主要亮点

Python 3.13 的更新重点在于提升用户体验。值得注意的几大亮点包括:全新的交互式解释器、支持无全局解释器锁的实验性功能(PEP 703)、基本的即时编译器(PEP 744),以及对错误信息的进一步优化。具体的内容将一一展开。

全新的交互式解释器

Python 3.13 默认使用新的交互式解释器,旨在提升用户的开发效率。新特性包括:

  • • 多行编辑与历史记录:用户可以在交互环境中进行多行代码输入,并且能够方便地查看之前的输入历史。

  • • 颜色提示与追踪:错误追踪信息将默认以彩色方式展示,使得识别错误更加容易。

  • • 简化命令支持:如 help() 和 exit() 等命令可以直接在 REPL 中输入,而无需调用作为函数。

  • • 便捷的帮助浏览:使用 F1 键可快速浏览帮助信息。

如果需要禁用新解释器,只需设置环境变量 PYTHON_BASIC_REPL

改进的错误信息

Python 3.13 对错误信息的展示进行了显著改进。错误追踪信息现在会以彩色格式输出,增强了可读性。此外,当脚本的名称与标准库模块冲突时,新的错误提示能够提供修改名称的建议。例如,当用户试图导入名为 random.py 的文件时,Python 会提示可能需要重命名文件,以避免与标准库模块冲突。

无全局解释器锁的实验性支持

Python 3.13 引入了无全局解释器锁(GIL)的实验性支持。用户可以通过特定的可执行文件来运行 Python,并且在多线程环境中利用 CPU 的全部核心。虽然这一功能处于实验阶段,但对于专为多线程设计的程序,可以显著提高性能。这一特性为未来的多核利用奠定了基础。

基本的即时编译器

另一个重大的更新是引入了基本的即时编译器(JIT)。尽管 JIT 在默认情况下是禁用的,但该特性为加速 Python 程序提供了新的可能。构建 Python 时可以开启 JIT 功能,以提升部分 Python 程序的执行效率。此功能尚在开发阶段,未来版本将继续优化以提升性能。

数据模型与标准库的改进

Python 3.13 在数据模型方面的改进也值得一提。比如,__static_attributes__ 属性用于存储通过 self.X 访问的属性名称。此外,在标准库方面,多个遗留API和模块被移除,例如 2to3 工具和 lib2to3 模块,这有助于精简并提升库的用户友好性。

安全性与 C API 的增强

在安全性方面,Python 3.13 更新了 ssl.create_default_context() 方法,默认启用更严格的验证标志。此外,在 C API 中引入了新的时间 API 和轻量级互斥体(PyMutex),为 C 扩展的开发提供了更多便利。

新类型特性与平台支持

关于类型系统,Python 3.13 通过 PEP 696 和 PEP 702 引入了一些新特性。类型参数现在支持默认值,新的 warnings.deprecated() 装饰器用于标记弃用。此外,iOS 和 Android 成为官方支持的平台,使得 Python 开发者能够在更多移动设备上进行开发。

总结

总之,Python 3.13 的发布带来了诸多令人振奋的特性与改进,它不仅提升了开发效率,改善了用户体验,更为 Python 未来的发展奠定了基础。随着这些新特性的引入,开发者在使用 Python 进行项目开发时将会感受到更高的灵活性与便捷性。如果你还没有体验 Python 3.13,现在是个好时机去探索这些新功能!


小白这样学Python
专注Python编程开发知识分享!
 最新文章