1.8 将Python2代码转换为Python3

Python2与Python3的区别

在1.2节课讲过,Python目前深化出了Python2和Python3两个大的分支。而且Python3还无法完全向下兼容Python3。

那Python2与Python3到底有哪些区别呢?

在Python2中,很多语句被当作操作符或关键字去使用,而在Python3中,基本都转化为函数。

如打印一行提示,在Python2中为:

print 'Hello,World!';

而在Python3中为:

print('Hello,World!');

在Python2中,一些表达式的结果,也与Python3不一样。如表达式“3/2”,在Python2中,返回值为1,而在Python3中,返回值为1.5。

另外,在Python2中,包的导入顺序为:标准库—相对倒入—绝对导入。

在Python3中,包的导入顺序为:标准库—绝对导入。

所以,Python3相对于Python2,做了一些错误修正,并且去除了部分二义性。

Python2转Python3

虽然Python3无法完全向下兼容Python2,但Python官方给出了代码转的工具,可以将Python2的脚本自动转换为Python3。

在Python的安装目录下,有个Tools\scripts目录。在这个目录下,有一个2to3.py的脚本。可以使用这个脚本,将Python2的脚本自动转换为Python3。

使用方法为:python 2to3.py -w 原脚本文件名

如,原python2脚本文件内容为:

print 'Hello, World!'
print '3/2 =', 3/2

使用2to3.py工具转换后,脚本内容变为:

print('Hello, World!')
print('3/2 =', 3/2)
【版权说明:仅允许非商业转载且请注明出处:Mac私塾 网址:http://macsishu.com】

发表评论

邮箱地址不会被公开。

Captcha Code