摘要:2025 年 5 月 7 日,Python 官方发布了 Python 3.14.0 的首个 Beta 版本。这个版本带来了众多新特性和改进,让我们一起来看看这个版本的亮点。
2025 年 5 月 7 日,Python 官方发布了 Python 3.14.0 的首个 Beta 版本。这个版本带来了众多新特性和改进,让我们一起来看看这个版本的亮点。
主要新特性
Python 3.14.0 Beta 1 引入了多项重要的新功能和改进:
1. 延迟评估类型注解 (PEP 649)
类型注解的评估现在被延迟,这改进了使用注解的语义。这意味着类型注解将不再在模块导入时被立即评估,而是在需要时才进行评估,这可以提高性能并解决一些循环引用问题。
2. 模板字符串字面量 (PEP 750)
引入了模板字符串字面量(t-strings)用于自定义字符串处理,使用类似于 f-strings 的熟悉语法。这为字符串处理提供了更多的灵活性和可能性。
3. Zstandard 压缩算法支持 (PEP 784)
新增compression.zstd模块,提供对 Zstandard 压缩算法的支持。Zstandard 是一种快速且高效的压缩算法,现在可以直接在 Python 标准库中使用。4. 简化的异常表达式 (PEP 758)
except和except*表达式现在可以省略括号,使代码更加简洁。5. REPL 语法高亮和 CLI 颜色支持
Python REPL 现在支持语法高亮,同时unittest、argparse、json和calendar等 CLI 工具也支持颜色输出,提升了开发体验和可读性。6. 零开销外部调试器接口 (PEP 768)
为 CPython 提供了一个零开销的外部调试器接口,这将使调试 Python 程序变得更加高效。
7. UUID 版本 6-8 支持
uuid模块现在支持 UUID 版本 6-8,并且版本 3-5 和 8 的生成速度提高了 40%。8. 禁止从 finally 块退出的控制流 (PEP 765)
禁止return/break/continue语句从finally块退出,这有助于避免一些难以追踪的错误。9. 改进的 C API 配置 (PEP 741)
提供了一个改进的 C API 用于配置 Python,使扩展开发更加便捷。
10. 新型解释器
对于某些较新的编译器,提供了一种新型解释器,可以显著提高性能。目前是可选的,需要从源代码构建。
11. 改进的错误消息
错误消息得到了改进,使调试和问题排查更加直观。
12. HMAC 的内置实现
使用 HACL*项目的正式验证代码提供了 HMAC 的内置实现。
构建变更 1. 签名方式变更 (PEP 761)
Python 3.14 及以后版本不再提供 PGP 签名用于发布构件。相反,建议验证者使用 Sigstore。
2. 实验性 JIT 编译器
官方 macOS 和 Windows 发布二进制文件包含一个实验性的 JIT 编译器,这有望提高 Python 程序的执行速度。
不兼容变更、移除和新的弃用
有一些不兼容变更需要注意
Python 的一些功能被移除或标记为弃用
C API 的一些功能被移除或标记为弃用
所有待处理的弃用功能概览可在文档中查看
Python 安装管理器Windows 平台的安装程序正在被新的安装管理器取代,可以从 Windows 商店或 FTP 页面安装。JSON 文件可供下载,包含此版本所有可安装包的列表,包括文件 URL 和哈希值,但安装最新版本不需要此文件。传统安装程序将在 3.14 和 3.15 版本中继续提供。
更多资源
在线文档 [1]
PEP 745 [2] ,3.14 发布计划
在 github.com/python/cpython/issues [3] 报告 Bug
帮助资助 Python 及其社区 [4]
注意事项在发布过程中,发现了一个测试问题,该测试仅在按顺序运行并且仅在运行一定数量的其他测试后才会失败。这似乎是测试本身的问题,将在 Beta 2 中修复。详情请参见python/cpython#133532[5]。
趣闻:关于π的历史
Python 3.14 版本号与数学常数π(3.14)相呼应。数学常数π用希腊字母π表示,代表圆的周长与直径的比值。
第一个使用π作为这个比值符号的是威尔士自学成才的数学家威廉·琼斯(William Jones),时间是 1706 年。他出生于 1675 年,在安格尔西岛(Ynys Môn)的 Llanfihangel Tre'r Beirdd,只在当地慈善学校接受了基础教育。然而,他父母农场的主人注意到了他的数学才能,安排他搬到伦敦在一家银行工作。
20 岁时,他在皇家海军服役,教授水手数学并协助船舶导航。七年后回到伦敦后,他成为咖啡馆的数学教师和私人家教。1706 年,琼斯出版了《Synopsis Palmariorum Matheseos》,其中使用符号π表示圆的周长与直径的比值。
琼斯也是第一个意识到π是无理数的人,这意味着它可以写成无限小数,但不能写成两个整数的分数。
为什么选择π?据认为琼斯使用希腊字母π是因为它是 perimetron 或 perimeter(周长)的第一个字母。
结语
Python 3.14.0 的下一个预发布版本将是 3.14.0b2,计划于 2025 年 5 月 27 日发布。
本文基于 Python 官方博客发布的信息整理,原文链接:Python 3.14.0 beta 1 is here![6]
在线文档: https://docs.python.org/3.14/
PEP 745: https://peps.python.org/pep-0745/
github.com/python/cpython/issues: https://github.com/python/cpython/issues
帮助资助 Python 及其社区: https://www.python.org/psf/donations/
[5]
python/cpython#133532: https://github.com/python/cpython/issues/133532
[6]
Python 3.14.0 beta 1 is here!: https://pythoninsider.blogspot.com/2025/05/python-3140-beta-1-is-here.html
来源:小丁论科技