python 2.x 和 3.x 系列 | 前言 |《学习 python:强大的面向对象编程(第 5 版)》| python 技术论坛-金年会app官方网
因为 python 2.x 和 3.x 的历史故事对本书的内容影响很大,所以我需要提前提一些这方面的事情。
在 2009 年写完本书的第四版时, python 只是刚刚有两种不同的版本:
- 版本 3.0 是本语言出现的第一个不兼容的变种,一般称为 3.x。
- 2.6 保持了与大量现存 python 代码的后向兼容性,并且在 2.x 这个系列中是最新的。
虽然 3.x 几乎是同样的语言,但是它和前面的版本运行的代码基本完全不同。它:
-
强制推行了一个 unicode 的模型,对字符,文件和库都有深远的影响。
-
让迭代器和生成器的作用更广泛,作为更完全功能范式的一部分。
-
强制推行和types一起出现的新式的classes,但更加强大和复杂。
-
改变了许多基本的工具和库,把其它的完全替代和移除。
print 从语句到单独函数的转变,从美感上来说或许是合理的。但是它几乎破坏了每一个已经写好的 python 程序。不谈战略潜力,3.x 的强制的 unicode 和类模型,还有无处不在的生成器都会造成不同的编程体验。
虽然许多人认为 python 3.x 是 python 的进步和未来,但 python 2.x 仍然广泛使用,并且将在未来的数年和 python 3.x 获得并行的支持。大量在使用的 python 代码都是 2.x 的,向 3.x 的迁移过程看起来发展得比较缓慢。
到如今 2022,python 3.x 早已经获得了统治地位。目前最新版本是 3.11.0.
python 2.7.18 在 2020 年 4 月 20 日 发布后,2.x 系列就再没有发布过更新了。