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实现从ftp服务器下载文件的方法
Apr 30 Python
django model去掉unique_together报错的解决方案
Oct 18 Python
NetworkX之Prim算法(实例讲解)
Dec 22 Python
Django实战之用户认证(初始配置)
Jul 16 Python
pyqt5 使用cv2 显示图片,摄像头的实例
Jun 27 Python
Django发送邮件和itsdangerous模块的配合使用解析
Aug 10 Python
python科学计算之numpy——ufunc函数用法
Nov 25 Python
关于Python-faker的函数效果一览
Nov 28 Python
Pytorch 之修改Tensor部分值方式
Dec 27 Python
Django中Aggregation聚合的基本使用方法
Jul 09 Python
Django返回HTML文件的实现方法
Sep 17 Python
python中time包实例详解
Feb 02 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
Laravel中Trait的用法实例详解
2016/03/16 PHP
推荐:极酷右键菜单
2006/11/29 Javascript
De facto standard 世界上不可思议的事实标准
2010/08/29 Javascript
jQuery动态添加的元素绑定事件处理函数代码
2011/08/02 Javascript
JavaScript插入动态样式实现代码
2012/02/22 Javascript
javascript获取ckeditor编辑器的值(实现代码)
2013/11/18 Javascript
JS和JQUERY获取页面大小,滚动条位置,元素位置(示例代码)
2013/12/14 Javascript
JavaScript对象反射用法实例
2015/04/17 Javascript
Jquery easyui 实现动态树
2015/11/17 Javascript
jQuery+ajax实现文章点赞功能的方法
2015/12/31 Javascript
BootStrap入门教程(一)之可视化布局
2016/09/19 Javascript
Sortable.js拖拽排序使用方法解析
2016/11/04 Javascript
如何选择jQuery版本 1.x? 2.x? 3.x?
2017/04/01 jQuery
Vue.js 时间转换代码及时间戳转时间字符串
2018/10/16 Javascript
Angular7创建项目、组件、服务以及服务的使用
2019/02/19 Javascript
对vue中的事件穿透与禁止穿透实例详解
2019/10/28 Javascript
Vuejs中的watch实例详解(监听者)
2020/01/05 Javascript
浅析Python中元祖、列表和字典的区别
2016/08/17 Python
对Django项目中的ORM映射与模糊查询的使用详解
2019/07/18 Python
python机器学习实现决策树
2019/11/11 Python
python中字符串的编码与解码详析
2020/12/03 Python
HTML5 客户端数据库简易使用:IndexedDB
2019/12/19 HTML / CSS
悦木之源美国官网:Origins美国
2016/08/01 全球购物
Kaufmann Mercantile官网:家居装饰、配件、户外及更多
2018/09/28 全球购物
斐乐美国官方网站:FILA美国
2019/03/01 全球购物
写一个在SQL Server创建表的SQL语句
2012/03/10 面试题
挂职思想汇报
2013/12/31 职场文书
面试自我介绍演讲稿
2014/04/29 职场文书
安全生产专项整治方案
2014/05/06 职场文书
敬老模范事迹
2014/05/21 职场文书
教师批评与自我批评总结
2014/10/16 职场文书
2014年班级工作总结范文
2014/12/23 职场文书
仓管员岗位职责范本
2015/04/01 职场文书
大学校园餐饮创业计划书
2019/08/07 职场文书
Python图片验证码降噪和8邻域降噪
2021/08/30 Python
React自定义hook的方法
2022/06/25 Javascript