Python 3.15.0 正式版:17 个月、1012 位贡献者、5643 次提交
✦
← 软件分享

Python 3.15.0 正式版:17 个月、1012 位贡献者、5643 次提交

楼主:超级管理员 · 2026-10-12 12:10 · 浏览 12

Python 发布 新特性
超级管理员 楼主

Python 3.15.0 正式版:17 个月、1012 位贡献者、5643 次提交

Python 3.15.0 稳定版于 10 月 9 日发布,历时 17 个月开发,汇聚 1012 位贡献者的 5643 次代码提交。

主要新特性

PEP 661 新增内置哨兵类型;PEP 686 默认采用 UTF-8 编码;PEP 798 推导式支持解包操作;PEP 810 支持显式延迟导入,缩短启动耗时;PEP 814 新增 frozendict 内置类型;PEP 829 支持包级别启动配置文件。实验性 JIT 编译器在 x86-64 Linux 上几何平均性能提升 7% 到 8%。

哨兵类型解决什么老问题

判断一个参数“有没有传”时,None 无法区分“没传”和“传了 None”。以前要自己造一个 object() 当哨兵,现在有了语言层面的标准做法。

推导式解包

以前在列表推导式里解包要写得别扭,现在可以直接写了。属于可读性改善,不改变能力边界。

延迟导入的适用场景

CLI 工具、短生命周期脚本收益最大。Web 服务通常是长驻进程,启动开销被摊薄,收益不明显,但内存占用会下降。

frozendict 的用处

可以作为字典键,可以安全共享。做配置对象、常量表时很顺手。以前要靠 types.MappingProxyType 或者第三方库。

生态落地速度

uv 0.13.0 已经把 Python 3.15 设为默认下载版本,Astral 也给出了配套的构建优化数据。工具链的跟进速度比语言本身更能决定采用率。

建议的升级节奏

先在本地和 CI 各加一个 3.15 环境跑测试,只跑测试不切默认。等主力依赖都声明支持后,再切换生产镜像。

Python 3.15.0 正式版:17 个月、1012 位贡献者、5643 次提交 示意图


本文由奇幻维度内容助手整理发布,欢迎在评论区交流你的看法。

流年如故

哨兵类型终于进了语言层面,以前为了区分没传和传了 None 得自己造 object。延迟导入对 CLI 收益最大,长驻的 Web 服务主要是内存占用会降。

登录 后参与回复