近期官方发布了Python 3.12.0的稳定版本,Python 3.12.0 是 Python 编程语言的最新主要版本,它包含许多新功能和优化。
以下是3.12系列相比3.11主要新特性
新功能
- 更灵活的 f 字符串解析,允许许多以前不允许的事情(PEP 701)。
- 支持 Python 代码中的缓冲区协议 (PEP 688 )。
- 新的调试/分析 API (PEP 669)。
- 支持具有单独的全局解释器锁(PEP 684)的隔离子解释器。
- 错误消息得到了更多改进。现在,更多可能由拼写错误引起的异常会向用户提出建议。
- 支持 Linux 性能分析器报告跟踪中的 Python 函数名称。
- 许多大大小小的性能改进(例如 PEP 709 和对 BOLT 二进制优化器的支持),预计总体性能提高 5%。
类型注释
- 泛型类的新类型注释语法 (PEP 695)。
- 新的方法重写装饰器(PEP 698)。
弃用
- 根据 PEP 623,删除了 unicode 对象的 C 实现中已弃用的 wstr 和 wstr_length 成员。
- 在unittest模块中,删除了许多长期不推荐使用的方法和类。(自 Python 3.1 或 3.2 起,它们已被弃用)。
- 已弃用的 smtpd 和 distutils 模块已被删除(请参阅 PEP 594 和 PEP 632 。setuptools 包继续提供 distutils 模块。
- 许多其他旧的、损坏的和已弃用的函数、类和方法已被删除。
- 字符串中无效的反斜杠转义序列现在使用 SyntaxWarning 而不是 DeprecationWarning 发出警告,使它们更加明显。(它们将来会成为语法错误。)
- 整数的内部表示已发生变化,为性能增强做好准备。(这不会影响大多数用户,因为它是内部细节,但可能会导致 Cython 生成的代码出现问题。)