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的string模块中的Template类字符串模板用法
Jun 27 Python
python实现BackPropagation算法
Dec 14 Python
python数据封装json格式数据
Mar 04 Python
利用Python如何实现数据驱动的接口自动化测试
May 11 Python
解决python中导入win32com.client出错的问题
Jul 26 Python
Django框架 querySet功能解析
Sep 04 Python
Python list与NumPy array 区分详解
Nov 06 Python
python argparse传入布尔参数false不生效的解决
Apr 20 Python
在django中实现choices字段获取对应字段值
Jul 12 Python
python 中的9个实用技巧,助你提高开发效率
Aug 30 Python
python flappy bird小游戏分步实现流程
Feb 15 Python
Python如何加载模型并查看网络
Jul 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
PHP.MVC的模板标签系统(四)
2006/09/05 PHP
php中0,null,empty,空,false,字符串关系的详细介绍
2013/06/20 PHP
win7计划任务定时执行PHP脚本设置图解
2014/05/09 PHP
php实现微信公众号企业转账功能
2018/10/01 PHP
JS实现可缩放、拖动、关闭和最小化的浮动窗口完整实例
2015/03/04 Javascript
JavaScript中switch语句的用法详解
2015/06/03 Javascript
Bootstrap每天必学之前端开发框架
2015/11/19 Javascript
prototype框架中美元符号$用法分析
2016/01/22 Javascript
JavaScript浏览器对象之一Window对象详解
2016/06/03 Javascript
jQuery插件HighCharts绘制2D带有Legend的饼图效果示例【附demo源码下载】
2017/03/10 Javascript
Angular.js ng-file-upload结合springMVC的使用教程
2017/07/10 Javascript
JScript实现地址选择功能
2017/08/15 Javascript
详解webpack-dev-server使用http-proxy解决跨域问题
2018/01/13 Javascript
jQuery实现的鼠标拖动浮层功能示例【拖动div等任何标签】
2018/12/29 jQuery
Vue实现简单计算器案例
2020/02/25 Javascript
浅析我对JS延迟异步脚本的思考
2020/10/12 Javascript
夯基础之手撕javascript继承详解
2020/11/09 Javascript
Python实现将一个大文件按段落分隔为多个小文件的简单操作方法
2017/04/17 Python
python简单商城购物车实例代码
2018/03/15 Python
python3实现windows下同名进程监控
2018/06/21 Python
django用户登录和注销的实现方法
2018/07/16 Python
Python面向对象基础入门之编码细节与注意事项
2018/12/11 Python
解决Python3.8用pip安装turtle-0.0.2出现错误问题
2020/02/11 Python
Python自省及反射原理实例详解
2020/07/06 Python
使用CSS3的appearance属性改变任何元素的浏览器默认风格
2012/12/24 HTML / CSS
naturalizer加拿大官网:美国娜然女鞋
2017/04/04 全球购物
爱淘宝:淘宝网购物分享平台
2017/04/28 全球购物
2014乡镇干部纪律作风整顿思想汇报
2014/09/13 职场文书
HTML页面滚动时部分内容位置固定不滚动的实现
2021/04/14 HTML / CSS
background-position百分比原理详解
2021/05/08 HTML / CSS
python自动计算图像数据集的RGB均值
2021/06/18 Python
小程序实现悬浮按钮的全过程记录
2021/10/16 HTML / CSS
Pygame Rect区域位置的使用(图文)
2021/11/17 Python
十大最强水系宝可梦,最美宝可梦排第三,榜首大家最熟悉
2022/03/18 日漫
零基础学java之带返回值的方法的定义和调用
2022/04/10 Java/Android
Python测试框架pytest高阶用法全面详解
2022/06/01 Python