示例详解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简单实现TCP包发送十六进制数据的方法
Apr 16 Python
Python实现选择排序
Jun 04 Python
Python中表达式x += y和x = x+y 的区别详解
Jun 20 Python
Flask模拟实现CSRF攻击的方法
Jul 24 Python
对Python中内置异常层次结构详解
Oct 18 Python
python实现批量视频分帧、保存视频帧
May 31 Python
ubuntu上安装python的实例方法
Sep 30 Python
selenium中get_cookies()和add_cookie()的用法详解
Jan 06 Python
Python-numpy实现灰度图像的分块和合并方式
Jan 09 Python
python中图像通道分离与合并实例
Jan 17 Python
Python格式化输出--%s,%d,%f的代码解析
Apr 29 Python
python开发飞机大战游戏
Jul 15 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
加速XP搜索功能堪比vista
2007/03/22 PHP
PHP array_push 数组函数
2009/12/26 PHP
php 在文件指定行插入数据的代码
2010/05/08 PHP
PHP基础教程(php入门基础教程)一些code代码
2013/01/06 PHP
Laravel 集成 Geetest验证码的方法
2018/05/14 PHP
XENON基于JSON变种
2010/07/27 Javascript
jQuery Dialog 弹出层对话框插件
2010/08/09 Javascript
基于jQuery架构javascript基础体系
2011/01/01 Javascript
基于jquery的当鼠标滚轮到最底端继续加载新数据思路分享(多用于微博、空间、论坛 )
2011/10/10 Javascript
jQuery.each()用法分享
2012/07/31 Javascript
javascript使用location.search的示例
2013/11/05 Javascript
javascript的数组和常用函数详解
2014/05/09 Javascript
javascript复制粘贴与clipboardData的使用
2014/10/16 Javascript
javascript通过元素id和name直接取得元素的方法
2015/04/28 Javascript
充分发挥Node.js程序性能的一些方法介绍
2015/06/23 Javascript
JS实现的跨浏览器解析XML文件实例
2016/06/21 Javascript
JS实现显示带倒影的图片横排居中放大展示特效实例【测试可用】
2016/08/23 Javascript
angular十大常见问题
2017/03/07 Javascript
Node.js编写CLI的实例详解
2017/05/17 Javascript
基于jQuery选择器之表单对象属性筛选选择器的实例
2017/09/19 jQuery
如何去除富文本中的html标签及vue、react、微信小程序中的过滤器
2018/11/21 Javascript
express + jwt + postMan验证实现持久化登录
2019/06/05 Javascript
layui之数据表格--与后台交互获取数据的方法
2019/09/29 Javascript
bootstrap-paginator服务器端分页使用方法详解
2020/02/13 Javascript
pandas series序列转化为星期几的实例
2018/04/11 Python
使用python实现简单五子棋游戏
2019/06/18 Python
Flask框架 CSRF 保护实现方法详解
2019/10/30 Python
python GUI库图形界面开发之PyQt5信号与槽多窗口数据传递详细使用方法与实例
2020/03/08 Python
基于python生成英文版词云图代码实例
2020/05/16 Python
高中军训感言500字
2014/02/24 职场文书
讲文明树新风公益广告宣传方案
2014/02/25 职场文书
小学家长学校培训材料
2014/08/24 职场文书
入党自荐书范文
2015/03/05 职场文书
投诉信格式范文
2015/07/02 职场文书
windows下快速安装nginx并配置开机自启动的方法
2021/05/11 Servers
Mybatis-plus在项目中的简单应用
2021/07/01 Java/Android