输入:
- n1 = 1n2 = 2add = float(n1) + float(n2)print 'sum of {0} and {1} is {2}'.format(n1, n2, add)
会输出:

现在使用 2to3 的迁移,我们可以转换上面的代码。
输入:
- n1 = 1n2 = 2add = float(n1) + float(n2)
- print('sum of {0} and {1} is {2}'.format(n1, n2, add))
会输出:

所以在这里我们看到它可以在命令行上通过 2to3 转换为 Python 3 代码。
Python 提供了自己的工具,名为 2to3.py,它运行了一堆脚本来将你的 Python 2 代码转换为 3。虽然它并不完美,但它总体上做得非常出色。转换任何代码后,您可以手动修复任何问题。
6、性能问题
此升级中已修复了大多数性能问题! 在比较两个版本之间的基准时,差异几乎可以忽略不计。
7、一些主要的内部事务变更
Python 2
Python 3:
-
print 功能括号必填。
-
默认情况下为字符串 unicode。
-
整数除法可能导致浮动 -5/2=2.5。
-
Raw_input() 不可用。
-
输入始终读取字符串。
-
Next (generator)。
-
Py2 to py3 实用程序。
-
Dictionary .keys() 和 .values() 返回的为视图不是列表。
-
在非自然比较中不能再使用比较运算符。
例如,None < None 将引发 TypeError 而不是返回 false。
-
不推荐使用百分比(%)字符串格式化运算符,使用 .format() 函数或连接。
编译自:Key differences between Python 2 and 3: How to navigate change
【编辑推荐】
- GitHub 推出 Python 安全警告,识别依赖包的安全漏洞
- Python在四个榜单雄踞第一 专家预测十年内Python最强
- TIOBE 8 月编程语言榜:Python 差点拿下第 3 名
- 如何用Python进行大数据挖掘和分析?快速入门路径图!
- JavaScript Web 应用程序和服务器易受 ReDoS 攻击
【责任编辑:张燕妮 TEL:(010)68476606】
点赞 0 (编辑:晋中站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|