Python2 与Python3的版本区别实例分析


Posted in Python onMarch 30, 2020

本文实例讲述了Python2 与Python3的版本区别。分享给大家供大家参考,具体如下:

现在还有些开源模块还没有更新到python3 ,不了解版本区别,无法对不合适的地方进行更改。

由于只追求向Python3靠近,所以对于python2的特别用法不探究。

此文不补全所有版本区别,仅作档案记录我遇到的版本区别.


print函数:

在 Python 2 中, print 被视为一个语句而不是一个函数

更改:

Python 2中的print语句==>Python 3中的print()函数

Python2 与Python3的版本区别实例分析

Python2 与Python3的版本区别实例分析


input():

python2的raw_input()更新为Python 3 中的input()


整数除法:

更新:

由py2中的舍去小数的除法==》py3中的计算比较精确的除法

如果py3中想要不保留小数,使用  // 运算符

Python2 与Python3的版本区别实例分析

Python2 与Python3的版本区别实例分析

但要注意小数中//运算符的使用,//是返回比实际的商要小的数。

Python2 与Python3的版本区别实例分析


Unicode编码:

  • 1.Python 2中的字符串基于ASCII
  • 2.Python 3 默认使用 Unicode,Python3中的字符串类型默认是unicode类型的,另外新增了两个字节类:bytes和bytearrays
  • Byte的使用:
    • str对象转换成bytes对象可以使用encode()
    • bytes对象转换成str对象使用decode()
    • Python中对bytes类型的数据带 b前缀的单引号或双引号表示:

Python2 与Python3的版本区别实例分析

  • 由于编码变化还导致了python中网络编程函数使用的变化,网络传输都是字节流的,Python2的网络传输默认是字节型的,而python3中字符串是Unicode的,所以python3要对数据进行编码再传输。

不等运算符

Python 2.x中不等于有两种写法 != 和 <>

Python 3.x中去掉了<>, 只有!=一种写法

现在仍有一些教程保留着<>的用法!


处理异常:

捕获异常的语法由 except exception, variable 改为 except exception as variable

Python2 与Python3的版本区别实例分析

python3中将一些异常细化了,新增了不少异常


抛出异常:

更新:

py3使用构造函数抛出异常

raise 异常名, "自定义的异常信息"
raise 异常名("自定义的异常信息")

Python2 与Python3的版本区别实例分析


生成器的迭代:

python2中支持   生成器.next()

更新为

python3中的next(生成器),生成器.__next__()

Python2 与Python3的版本区别实例分析 

关于Python相关内容感兴趣的读者可查看本站专题:《Python函数使用技巧总结》、《Python面向对象程序设计入门与进阶教程》、《Python数据结构与算法教程》、《Python字符串操作技巧汇总》、《Python编码操作技巧总结》及《Python入门与进阶经典教程》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
零基础写python爬虫之urllib2使用指南
Nov 05 Python
理解Python中函数的参数
Apr 27 Python
解决python3 urllib中urlopen报错的问题
Mar 25 Python
python logging模块书写日志以及日志分割详解
Jul 22 Python
Python完成哈夫曼树编码过程及原理详解
Jul 29 Python
Python测试线程应用程序过程解析
Dec 31 Python
使用pytorch搭建AlexNet操作(微调预训练模型及手动搭建)
Jan 18 Python
浅谈keras通过model.fit_generator训练模型(节省内存)
Jun 17 Python
解决TensorFlow程序无限制占用GPU的方法
Jun 30 Python
python中加背景音乐如何操作
Jul 19 Python
PyCharm配置anaconda环境的步骤详解
Jul 31 Python
几款Python编译器比较与推荐(小结)
Oct 15 Python
django xadmin中form_layout添加字段显示方式
Mar 30 #Python
基于virtualenv创建python虚拟环境过程图解
Mar 30 #Python
Python实现RabbitMQ6种消息模型的示例代码
Mar 30 #Python
Anconda环境下Vscode安装Python的方法详解
Mar 29 #Python
配置python的编程环境之Anaconda + VSCode的教程
Mar 29 #Python
Anaconda+VSCode配置tensorflow开发环境的教程详解
Mar 30 #Python
利用django model save方法对未更改的字段依然进行了保存
Mar 28 #Python
You might like
给海燕B411配件机起死回生配上件
2021/03/02 无线电
php表单提交问题的解决方法
2011/04/12 PHP
php引用传值实例详解学习
2013/11/06 PHP
ThinkPHP分页实例
2014/10/15 PHP
对PHP PDO的一些认识小结
2015/01/23 PHP
Zend Framework教程之Resource Autoloading用法实例
2016/03/08 PHP
浅谈php(codeigniter)安全性注意事项
2017/04/06 PHP
php实现往pdf中加数字签名操作示例【附源码下载】
2018/08/07 PHP
基于jquery的点击链接插入链接内容的代码
2012/07/31 Javascript
jquery实现漂浮在网页右侧的qq在线客服插件示例
2013/05/13 Javascript
javascript判断office版本示例
2014/04/11 Javascript
我的Node.js学习之路(一)
2014/07/06 Javascript
Javascript实现飞动广告效果的方法
2015/05/25 Javascript
基于JavaScript实现鼠标向下滑动加载div的代码
2016/08/31 Javascript
HTML5 js实现拖拉上传文件功能
2020/11/20 Javascript
JS批量替换内容中关键词为超链接
2017/02/20 Javascript
JavaScript实现鼠标滚轮控制页面图片切换功能示例
2017/10/14 Javascript
JS+H5 Canvas实现时钟效果
2018/07/20 Javascript
vue移动端监听滚动条高度的实现方法
2018/09/03 Javascript
Vue3.0中的monorepo管理模式的实现
2019/10/14 Javascript
[02:22]2018DOTA2亚洲邀请赛VG赛前采访
2018/04/03 DOTA
[41:11]完美世界DOTA2联赛PWL S2 Inki vs Magma 第一场 11.22
2020/11/24 DOTA
[01:10:30]DOTA2-DPC中国联赛正赛 Dragon vs Dynasty BO3 第一场 3月4日
2021/03/11 DOTA
Python自动扫雷实现方法
2015/07/25 Python
Python中遍历列表的方法总结
2019/06/27 Python
对django中foreignkey的简单使用详解
2019/07/28 Python
Python面向对象原理与基础语法详解
2020/01/02 Python
奢华的意大利皮革手袋:Bene Handbags
2019/10/29 全球购物
甜点店创业计划书
2014/01/27 职场文书
建筑公司员工自我鉴定
2014/04/08 职场文书
单位考核聘任报告
2015/03/02 职场文书
2015年客服工作总结范文
2015/04/02 职场文书
领导干部失职检讨书
2015/05/05 职场文书
商场广播稿范文
2015/08/19 职场文书
2016年社区国庆节活动总结
2016/04/01 职场文书
Keras在mnist上的CNN实践,并且自定义loss函数曲线图操作
2021/05/25 Python