1.2 Python的版本之争

众所周知,Python官方同时支持两个版本,Python 2.x和Python 3.x。截至2020年1月,它们的最新版本分别是2.7和3.7。由于一些历史遗留问题,这两个版本无法兼容,甚至部分语法都不一致,这给用户带来了困扰。

大家不禁要问,Python 2.x和Python 3.x到底是什么关系?用Python官方的一句话可简明扼要地道出二者的区别:“Python 2.x是过往的历史,而Python 3.x则代表当下和未来。”对应的英文为:“Python 2.x is legacy, Python 3.x is the present and future of the language.”

但鉴于历史的惯性,Python 2.x还有着庞大的用户群。所以,Python官方不得不同时维护这两个不同版本的生态系统。但按Python官方的说法,Python 3.x会不断吐故纳新,昂首阔步地大发展,而Python 2.x的版本将会定格在2.7,他们只会对其做补丁级别的小修小补。

可以相信,随着时间的推移,Python 3.x一定会成为编程世界的主流。有一个标志性事件验证了这一趋势的到来。2017年11月,数据处理领域的股肱之臣—NumPy项目宣布,将在2020年停止对Python 2.x的支持,因为继续支持Python 2.x正日益成为该项目的巨大负担。无独有偶,大名鼎鼎的Pandas也相继宣布,自2020年1月起不再提供对Python 2.7的技术支持。

因此,放眼于未来,本书选择Python 3.x作为后续代码演示的载体。