示例详解Python3 or Python2 两者之间的差异


Posted in Python onAugust 23, 2018

每门编程语言在发布更新之后,主要版本之间都会发生很大的变化。 在本文中,Vinodh Kumar 通过示例解释了 Python 2 和 Python 3 之间的一些重大差异,以帮助说明语言的变化。

本教程主要介绍内容:

  • 表达式
  • Print 选项
  • Unequal 操作
  • Range
  • 自动迁移
  • 性能问题
  • 主要的内部事务更改

1、表达式

在 Python 2 中为获得计算表达式,你会键入:

示例详解Python3 or Python2 两者之间的差异

但在 Python 3 中,你会键入:

示例详解Python3 or Python2 两者之间的差异

因此,无论我们输入什么,值都会分配给 2 和 3 中的变量 x。当在 Python 2 中输入 2*6 时,结果将是 12,这是评估值。

但是,当在 Python 3 中运行相同的程序时,结果是字符串值。 在这种情况下,它看起来像字符串格式的 2*6。

那么,我们如何获得评估表达式呢? 现在,我们必须使用一个名为 eval 的表达式或函数。 当您在输入之前编写 eval 时,它会将表达式转换为计算值。

示例详解Python3 or Python2 两者之间的差异

具体表达式示例:

在 Python 2 中:

示例详解Python3 or Python2 两者之间的差异

然后输出:

示例详解Python3 or Python2 两者之间的差异

在 Python 3 中:

示例详解Python3 or Python2 两者之间的差异

然后输出:

示例详解Python3 or Python2 两者之间的差异

我们可以清楚地看到,他们之间的差异很小。

2、Print 选项

在 Python 2 中,print 是一个不需要括号的语句。 在 Python 3 中,print 是一个函数,值需要用括号括起来。

Python 2

输入:

示例详解Python3 or Python2 两者之间的差异

会输出:

示例详解Python3 or Python2 两者之间的差异

Python 3

输入:

示例详解Python3 or Python2 两者之间的差异

会输出:

3、Unequal 操作

当我们在 Python 2 中使用 Unequal 运算符时,我们需要使用大于 > 或小于 < 符号。 但是,在 Python 3 中,有一个通用运算符。 感叹号 ! 和等号 = 用于表示值是否相等。

Python 2 -<> 运算符表示不相等
Python 3 -! 运算符表示不相等

Python 2

输入:

示例详解Python3 or Python2 两者之间的差异

会输出:

示例详解Python3 or Python2 两者之间的差异

Python 3

输入:

示例详解Python3 or Python2 两者之间的差异

会输出:

示例详解Python3 or Python2 两者之间的差异

4、Range

Range 用于生成数字列表,通常用于迭代 for 循环。

示例详解Python3 or Python2 两者之间的差异

在这里你可以看到 X 等于 Range 10。当我们检查变量 X 时,它返回了列表类型。 这意味着在 Python 2 中,Range 是列表的类型。当我写 X 之后,得到一个对象列表,这里是:0 1 2 3 4 5 6 7 8 9。

示例详解Python3 or Python2 两者之间的差异

现在让我们转到 Python 3,当我们写 X 等于 Range 5,这个值就被赋给变量 X;当我们检查变量 X 的类型时,它会返回一个 Range 对象本身。 这意味着在 Python 3 中,Range 是一个范围对象本身。

Python 2

输入:

示例详解Python3 or Python2 两者之间的差异

会输出:

示例详解Python3 or Python2 两者之间的差异

Python 3

输入:

示例详解Python3 or Python2 两者之间的差异

会输出:

示例详解Python3 or Python2 两者之间的差异

5、自动迁移

那么,我们如何自动执行脚本以将代码从 Python 2 移动到 3?

在这里,我们可以使用 Python 中的 Add 2 Numbers 进行测试。

Python 2

输入:

示例详解Python3 or Python2 两者之间的差异

会输出:

示例详解Python3 or Python2 两者之间的差异

所以在这里我们看到它可以在命令行上通过 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() 函数或连接。

总结

以上所述是小编给大家介绍的示例详解Python3 or Python2 两者之间的差异,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
python实现可以断点续传和并发的ftp程序
Sep 13 Python
python判断字符串是否是json格式方法分享
Nov 07 Python
python编程使用selenium模拟登陆淘宝实例代码
Jan 25 Python
对Python中列表和数组的赋值,浅拷贝和深拷贝的实例讲解
Jun 28 Python
Python3+PyInstall+Sciter解决报错缺少dll、html等文件问题
Jul 15 Python
Python Django切换MySQL数据库实例详解
Jul 16 Python
你还在@微信官方?聊聊Python生成你想要的微信头像
Sep 25 Python
如何通过python实现人脸识别验证
Jan 17 Python
python GUI库图形界面开发之PyQt5拖放控件实例详解
Feb 25 Python
Pytorch转tflite方式
May 25 Python
python 解决selenium 中的 .clear()方法失效问题
Sep 01 Python
7个关于Python的经典基础案例
Nov 07 Python
Django 限制用户访问频率的中间件的实现
Aug 23 #Python
浅谈Django的缓存机制
Aug 23 #Python
如何在python字符串中输入纯粹的{}
Aug 22 #Python
关于python列表增加元素的三种操作方法
Aug 22 #Python
Python Learning 列表的更多操作及示例代码
Aug 22 #Python
Python绘制的二项分布概率图示例
Aug 22 #Python
使用Python写一个量化股票提醒系统
Aug 22 #Python
You might like
PHP的简易冒泡法代码分享
2012/08/28 PHP
解析php利用正则表达式解决采集内容排版的问题
2013/06/20 PHP
php中实现可以返回多个值的函数实例
2015/03/21 PHP
PHP编程中的__clone()方法使用详解
2015/11/27 PHP
在iframe里的页面编写js,实现在父窗口上创建动画效果展开和收缩的div(不变动iframe父窗口代码)
2011/12/20 Javascript
Js如何判断客户端是PC还是手持设备简单分析
2012/11/22 Javascript
基于jQuery实现下拉收缩(展开与折叠)特效
2012/12/25 Javascript
实例代码详解jquery.slides.js
2015/11/16 Javascript
jquery取消事件冒泡的三种方法(推荐)
2016/05/28 Javascript
JS简单验证上传文件类型的方法
2017/04/17 Javascript
关于JavaScript中forEach和each用法浅析
2017/07/27 Javascript
vuejs使用axios异步访问时用get和post的实例讲解
2018/08/09 Javascript
BootStrap模态框闪退问题实例代码详解
2018/12/10 Javascript
vue iview的菜单组件Mune 点击不高亮的解决方案
2019/11/01 Javascript
JavaScript实现省市联动效果
2019/11/22 Javascript
详解微信小程序中var、let、const用法与区别
2020/01/11 Javascript
JS+HTML实现自定义上传图片按钮并显示图片功能的方法分析
2020/02/12 Javascript
python 垃圾收集机制的实例详解
2017/08/20 Python
python决策树之CART分类回归树详解
2017/12/20 Python
redis之django-redis的简单缓存使用
2018/06/07 Python
符合语言习惯的 Python 优雅编程技巧【推荐】
2018/09/25 Python
解决Python print输出不换行没空格的问题
2018/11/14 Python
解决python文件双击运行秒退的问题
2019/06/24 Python
解决yum对python依赖版本问题
2019/07/05 Python
Html5 Geolocation获取地理位置信息实例
2016/12/09 HTML / CSS
Kneipp克奈圃美国官网:德国百年精油配方的传承
2018/02/07 全球购物
英国门把手公司:Door Handle Company
2019/05/12 全球购物
MIXIT官网:俄罗斯最大的化妆品公司之一
2020/01/25 全球购物
自动化专业个人求职信范文
2013/11/29 职场文书
中专生自我鉴定范文
2013/12/19 职场文书
《跨越海峡的生命桥》教学反思
2014/02/24 职场文书
教学质量评估实施方案
2014/03/17 职场文书
公务员诚信承诺书
2014/05/26 职场文书
社区综治宣传月活动总结
2014/07/02 职场文书
2015世界地球日活动总结
2015/02/09 职场文书
java如何实现socket连接方法封装
2021/09/25 Java/Android