加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 移动互联 > 正文

示例解读 Python 2 和 Python 3 之间的主要差异

发布时间:2018-08-25 22:13:22 所属栏目:移动互联 来源:开源中国编译
导读:技术沙龙 | 邀您于8月25日与国美/AWS/转转三位专家共同探讨小程序电商实战 每门编程语言在发布更新之后,主要版本之间都会发生很大的变化。 在本文中,Vinodh Kumar 通过示例解释了 Python 2 和 Python 3 之间的一些重大差异,以帮助说明语言的变化。 本教

输入:

  1. n1 = 1n2 = 2add = float(n1) + float(n2)print 'sum of {0} and {1} is {2}'.format(n1, n2, add) 

会输出:

示例解读 Python 2 和 Python 3 之间的主要差异

现在使用 2to3 的迁移,我们可以转换上面的代码。

输入:

  1. n1 = 1n2 = 2add = float(n1) + float(n2) 
  2. print('sum of {0} and {1} is {2}'.format(n1, n2, add)) 

会输出:

示例解读 Python 2 和 Python 3 之间的主要差异

所以在这里我们看到它可以在命令行上通过 2to3 转换为 Python 3 代码。

Python 提供了自己的工具,名为 2to3.py,它运行了一堆脚本来将你的 Python 2 代码转换为 3。虽然它并不完美,但它总体上做得非常出色。转换任何代码后,您可以手动修复任何问题。

6、性能问题

此升级中已修复了大多数性能问题! 在比较两个版本之间的基准时,差异几乎可以忽略不计。

7、一些主要的内部事务变更

Python 2

  • print 功能括号选填。

  • 使用 u 作为前缀字符串以生成 unicode 字符串。

  • 整数除法总是返回整数 -5/2=2。

  • Raw_input() 读取字符串。

  • input() 评估读取的数据。

  • generator .next()。

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

【编辑推荐】

  1. GitHub 推出 Python 安全警告,识别依赖包的安全漏洞
  2. Python在四个榜单雄踞第一 专家预测十年内Python最强
  3. TIOBE 8 月编程语言榜:Python 差点拿下第 3 名
  4. 如何用Python进行大数据挖掘和分析?快速入门路径图!
  5. JavaScript Web 应用程序和服务器易受 ReDoS 攻击
【责任编辑:张燕妮 TEL:(010)68476606】
点赞 0

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读