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 相关文章推荐
用PyQt进行Python图形界面的程序的开发的入门指引
Apr 14 Python
基于Python实现一个简单的银行转账操作
Mar 06 Python
Python使用QQ邮箱发送Email的方法实例
Feb 09 Python
Python之str操作方法(详解)
Jun 19 Python
python 运用Django 开发后台接口的实例
Dec 11 Python
使用python将多个excel文件合并到同一个文件的方法
Jul 09 Python
Python中变量的输入输出实例代码详解
Jul 28 Python
jupyter notebook中美观显示矩阵实例
Apr 17 Python
浅谈keras中loss与val_loss的关系
Jun 22 Python
浅谈sklearn中predict与predict_proba区别
Jun 28 Python
pycharm无法导入lxml的解决办法
Mar 31 Python
python pyhs2 的安装操作
Apr 07 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
php 仿Comsenz安装效果代码打包提供下载
2010/05/09 PHP
JQuery 学习笔记 选择器之一
2009/07/23 Javascript
Mootools 1.2教程 滚动条(Slider)
2009/09/15 Javascript
js取模(求余数)隔行变色
2014/05/15 Javascript
JavaScript兼容性总结之获取非行间样式案例
2016/08/07 Javascript
微信js-sdk界面操作接口用法示例
2016/10/12 Javascript
微信小程序 页面之间传参实例详解
2017/01/13 Javascript
Node+Express+MongoDB实现登录注册功能实例
2017/04/23 Javascript
详解webpack+gulp实现自动构建部署
2017/06/29 Javascript
通过示例彻底搞懂js闭包
2017/08/10 Javascript
es6系列教程_ Map详解以及常用api介绍
2017/09/25 Javascript
EasyUI框架 使用Ajax提交注册信息的实现代码
2017/09/27 Javascript
vue学习之mintui picker选择器实现省市二级联动示例
2017/10/12 Javascript
vue组件实现弹出框点击显示隐藏效果
2020/10/26 Javascript
详解webpack打包时排除其中一个css、js文件或单独打包一个css、js文件(两种方法)
2018/10/26 Javascript
JS滚轮控制图片缩放大小和拖动的实例代码
2018/11/20 Javascript
vue自定义js图片碎片轮播图切换效果的实现代码
2019/04/28 Javascript
JavaScript实现滚动加载更多
2020/12/27 Javascript
[01:53]DOTA2超级联赛专访Zhou 五年职业青春成长
2013/05/29 DOTA
python调用shell的方法
2013/11/20 Python
tensorflow学习笔记之mnist的卷积神经网络实例
2018/04/15 Python
Python SMTP发送邮件遇到的一些问题及解决办法
2018/10/24 Python
解决在pycharm运行代码,调用CMD窗口的命令运行显示乱码问题
2019/08/23 Python
解决tensorflow训练时内存持续增加并占满的问题
2020/01/19 Python
Python在终端通过pip安装好包以后在Pycharm中依然无法使用的问题(三种解决方案)
2020/03/10 Python
关于pycharm 切换 python3.9 报错 ‘HTMLParser‘ object has no attribute ‘unescape‘ 的问题
2020/11/24 Python
欧克利英国官网:Oakley英国
2019/08/24 全球购物
成教自我鉴定
2013/10/27 职场文书
创业计划书的主要内容有哪些
2014/01/29 职场文书
硕士研究生求职自荐信范文
2014/03/11 职场文书
党的群众路线教育实践活动个人对照检查材料
2014/09/22 职场文书
外国人来华邀请函
2015/01/31 职场文书
教学督导岗位职责
2015/04/10 职场文书
工作收入证明模板
2015/06/12 职场文书
redis客户端实现高可用读写分离的方式详解
2021/07/04 Redis
redis 存储对象的方法对比分析
2021/08/02 Redis