最近好几条私信都在问同一件事:网上有人说 Python 4 已经发布了,到底是不是真的?还有人直接拿“Python4”这个标题来问我,是不是该从 Python 3 一下跳到 4,之前学的东西全白费了。
先说结论:目前 Python 官方既没发布 Python 4,也没有把它排上任何版本日程。但“Python 4”这个名字能一直被反复提起,并不是空穴来风。它背后其实是 GIL 移除计划、JIT 编译器、类型系统演进、打包分发困境这些实打实的技术话题。下面我就把自己看到的、社区里认真讨论过的内容,结合我在多个项目里升级 Python 版本的真实经验,一次讲清楚:传闻怎么来的、如果真出 4.0 技术上最可能动什么、以及现在到底该怎么学怎么准备。
1. “Python 4”满天飞,官方到底什么态度
1.1 版本号其实一直没闲着
先说一个大多数人没注意的事实:Python 的版本号更新节奏非常稳定,3.9、3.10、3.11、3.12、3.13,每年 10 月左右发布一个大版本,而且每个版本都塞进了不少“以前想都不敢想”的改动。比如 3.10 的 match 模式匹配,3.11 的异常组和大幅性能提升,3.12 对类型语法的大规模优化,3.13 又加入了实验性的自由线程模式(也就是常说的 no-GIL)。
| 版本 | 发布时间(大致) | 核心变化 |
|---|---|---|
| 3.10 | 2021 年 10 月 | match 模式匹配、更清晰的错误提示 |
| 3.11 | 2022 年 10 月 | 适应式解释器,性能大幅提升 |
| 3.12 | 2023 年 10 月 | 类型语法增强、隔离型扩展 API |
| 3.13 | 2024 年 10 月 | 实验性自由线程、JIT 编译器骨架 |
换句话说,官方并没有“必须把大改动攒到一个 4.0 才发布”的需求。很多在其他语言里要开新大版本才敢做的改动,Python 都通过 3.x 的小版本迭代逐步推进了。这其实是 Python 官方刻意选择的结果:保持兼容性,尽量减少开发者的迁移成本。只要 3.x 还能装得下新东西,4.0 就没什么必要。
1.2 “Python 4 已发布”的谣言,通常有三个来源
我整理了一下,网上那些“Python 4 已经发布”的消息,绝大多数来自三种情况。第一种是内容农场拿版本号当流量密码,标题写“Python 4.0 正式发布”,点进去一看,介绍的是 Python 3.13 或者某个第三方库的新功能。第二种是把实验性功能提前包装成了“新版本”,比如 3.13 的自由线程一进预发布阶段,就有自媒体直接说“Python 4 来了”。第三种更离谱,把跟 Python 完全不相干的软件、某些培训课程里自己编排的“Python 4.0 教材章节”当成官方版本传播。
识别方法其实很简单:只认 python.org 官网首页的下载链接,以及 Python 官方博客、PEP(Python Enhancement Proposal)里的内容。看到“正式版”“长期支持”这种字眼,先跑去官网核实一下版本号,再决定要不要紧张。这个习惯在你以后接触任何开源项目时都管用,一眼能避开大量不靠谱信息。
1.3 核心开发者不只一次表过态
这里补充一点更接近“官方态度”的信息。在过去的 PyCon 主题演讲和邮件列表讨论里,多位核心开发者都表达过同一个意思:除非出现真正需要破坏性变更的理由,否则不会轻易跳到 4.0。Python 2 到 Python 3 时代经历了一次比较大的迁移阵痛,官方团队并不太希望把这种痛苦再复制一遍。
更现实的做法是继续在 3.x 上做渐进式改进。所以与其等一个虚无缥缈的 4.0,不如去关注 3.14、3.
