D.1 Python 3:Python的下一代

自从1991年冬天Python第一次发行以来,Python目前正在经历它最重要的转变。因为Python 3并不兼容所有的旧版本,所以移植将是比以往更加重要的问题。

然而,不像其他的临终努力,Python 2.x并不会很快消失。事实上,剩余的2.x版本系列将会与3.x版本并行开发,从而确保从当前版本到下一代的平稳过渡。Python 2.6是这些2.x最终发行版本的第一个。

这份文档强化材料覆盖了附录C,但是在适当的地方讲解得更详细。

D.1.1 混合2.6+作为转换工具

Python 2.6和之后的2.x版本都是混合解释器,这意味着它们可以运行大量的1.x版本代码和所有2.x版本的软件,甚至可以运行一定数量的3.x代码(本地版本为3.x,但是在2.6+版本中可用)。有些人会认为混合解释器可以追溯到Python 2.2版本,因为它们同时支持创建经典类和新型类,但这就是它们能做的。

2.6发行版本是第一个支持版本3.x中特定可移植特性的版本。其中最重要的一些特性总结如下。

整数

单整数类型

新的二进制和改进的八进制字面量

经典除法或真除法

-Q除法开关

内置函数

print或print()

reduce()

其他更新

面向对象编程

两种不同的类对象

字符串

bytes字面量

bytes类型

异常

处理异常

抛出异常

其他转换工具和技巧

警告:-3开关

2to3工具

本附录不讨论2.x版本其他独立的新特性,这意味着它们对移植应用到版本3.x没有任何影响。因此,书归正传,我们继续往下讲。