python2.x和python3.x版本有很大的差异,除了依赖包的名称变化很大外,其主要差异总结如下:
1)print函数
Python3中,print函数的括号是必须的,Python2是可选的。
2)键盘读取输入方面
Python3只保留input()函数,且输入数据全部作为字符串处理;Python2还支持row_input()函数,input()函数在处理输入数字的过程中,若输入的数字加引号,则作为字符串处理,否则当作数字处理。
3)整除
Python3中,整除操作均转化成浮点型数值类型进行处理,Python2中整除操作执行四舍五入操作。
4)Unicode表示
Python2数据保存为 Unicode编码格式,需要标记为 U 的字符串,Python3默认存储为Unicode编码格式。
5)xrange()函数
Python2中有range()和xrange()函数,其中xrange()是按需返回列表大小,以节省内存占用,Python3中将xrange()函数更名成range()函数,且Python3.2 以及更高的版本中支持切片。
6)next()和.next()函数
Python2对两个函数均支持,Python3只支持next()函数。
7)Python2代码转3的工具:2to3
2to3.py 脚本将被通常安装在 tools/scripts 文件夹。 它读取 Python2.x 源代码,并应用了一系列的修复将它转变成有效的 Python3.x 代码; 如:2to3 -w test.py。