Python 3.12.0rc1发布
这是 Python 3.12.0 的第一个候选版本
此版本 3.12.0rc1 是倒数第二个版本预览版, 进入候选版本阶段,在此候选版本和最终版本之间只允许经过审核的代码更改,这些更改是明确的错误修复, 第二个候选版本(也是最后一个计划发布预览版)计划于 2023 年 9 月 4 日星期一发布,而 3.12.0 的正式版本计划于 2023 年 10 月 2 日星期一发布。
从此时起,3.12 系列中将不再有 ABI 更改,目标是代码更改尽可能少。
呼吁采取行动
我们强烈鼓励第三方 Python 项目的维护者在此阶段为他们的项目准备 3.12 兼容性,并在必要时在 PyPI 上发布 Python 3.12 wheel,为 3.12.0 的最终版本做好准备, 任何针对 Python 3.12.0rc1 构建的二进制wheel都可以与 Python 3.12 的未来版本一起使用, 与往常一样,向 Python 错误跟踪器报告任何问题。
请记住,这是一个预览版本,虽然它尽可能接近最终版本,但不建议在生产环境中使用它。
3.12系列相比3.11主要新特性
新功能
更灵活的 f 字符串解析,允许许多以前不允许的事情 (PEP 701)。
支持 Python 代码中的缓冲区协议 (PEP 688)。
新的调试/分析 API (PEP 669)。
支持具有单独全局解释器锁的隔离子解释器 (PEP 684)。
更多改进的错误消息, 现在,更多可能由拼写错误引起的异常会向用户提出建议。
支持 Linux 性能分析器报告跟踪中的 Python 函数名称。
许多大大小小的性能改进(如 PEP 709),预计整体性能提高 5%
弃用
根据 PEP 623,删除了 unicode 对象的 C 实现中已弃用的 wstr 和 wstr_length 成员。
在unittest模块中,删除了许多长期不推荐使用的方法和类。(自 Python 3.1 或 3.2 起,它们已被弃用)。
已弃用的 smtpd 和 distutils 模块已被删除(请参阅 PEP 594 和 PEP 632)。setuptools 软件包继续提供 distutils 模块。
许多其他旧的、损坏的和已弃用的函数、类和方法已被删除。
字符串中无效的反斜杠转义序列现在使用 SyntaxWarning 而不是 DeprecationWarning 发出警告,使它们更加明显。(它们将来会成为语法错误。)
整数的内部表示已发生变化,为性能增强做好准备。(这不会影响大多数用户,因为它是内部细节,但可能会导致 Cython 生成的代码出现问题。)
有关 Python 3.12 更改的更多详细信息,请参阅 Python 3.12 中的新增功能, Python 3.12 的下一个预版本将是 3.12.0rc2,即最终候选版本,目前计划于 2023 年 9 月 4 日发布。
(版权归原作者所有,侵删)
微信扫码关注该文公众号作者