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 相关文章推荐
linux环境下安装pyramid和新建项目的步骤
Nov 27 Python
Android应用开发中Action bar编写的入门教程
Feb 26 Python
Scrapy-redis爬虫分布式爬取的分析和实现
Feb 07 Python
python实现读取excel写入mysql的小工具详解
Nov 20 Python
Python实现带参数与不带参数的多重继承示例
Jan 30 Python
Python查看微信撤回消息代码
Jun 07 Python
python3.6.3安装图文教程 TensorFlow安装配置方法
Jun 24 Python
python TK库简单应用(实时显示子进程输出)
Oct 29 Python
python几种常用功能实现代码实例
Dec 25 Python
python 如何设置守护进程
Oct 29 Python
python爬虫多次请求超时的几种重试方法(6种)
Dec 01 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检测图片木马多进制编程实践
2013/04/11 PHP
实现PHP+Mysql无限分类的方法汇总
2015/03/02 PHP
PHP在线调试执行的实现方法(附demo源码)
2016/04/28 PHP
php实现的debug log日志操作类实例
2016/07/12 PHP
php生成HTML文件的类方法
2019/10/11 PHP
PHP7 弃用功能
2021/03/09 PHP
Jquery.LazyLoad.js修正版下载,实现图片延迟加载插件
2011/03/12 Javascript
JS操作Cookies的小例子
2013/10/15 Javascript
深入理解javascript的执行顺序
2014/04/04 Javascript
jQuery.holdReady()方法用法实例
2014/12/27 Javascript
jQuery 弹出层插件(推荐)
2016/05/24 Javascript
利用Javascript仿Excel的数据透视分析功能
2016/09/07 Javascript
微信小程序与php 实现微信支付的简单实例
2017/06/23 Javascript
js图片放大镜实例讲解(必看篇)
2017/07/17 Javascript
Vue.js实现价格计算器功能
2020/03/30 Javascript
JavaScript遍历查找数组中最大值与最小值的方法示例
2019/05/24 Javascript
p5.js实现简单货车运动动画
2019/10/23 Javascript
原生js+css实现tab切换功能
2020/09/17 Javascript
vue实现禁止浏览器记住密码功能的示例代码
2021/02/03 Vue.js
[02:36]DOTA2混沌骑士 英雄基础教程
2013/11/26 DOTA
[02:27]2018DOTA2亚洲邀请赛趣味视频之钓鱼大赛 谁是垂钓冠军?
2018/04/05 DOTA
使用graphics.py实现2048小游戏
2015/03/10 Python
Python使用Selenium爬取淘宝异步加载的数据方法
2018/12/17 Python
python scatter散点图用循环分类法加图例
2019/03/19 Python
Django CSRF跨站请求伪造防护过程解析
2019/07/31 Python
用Python匹配HTML tag的时候,<.*>和<.*?>有什么区别
2012/11/04 面试题
毕业生自我鉴定
2013/12/04 职场文书
班级安全教育实施方案
2014/02/23 职场文书
创建省级文明单位实施方案
2014/02/27 职场文书
精彩的广告词
2014/03/19 职场文书
领导干部作风建设工作总结
2014/10/23 职场文书
会计试用期自我评价
2015/03/10 职场文书
同意报考证明
2015/06/17 职场文书
2015年征兵工作总结
2015/07/23 职场文书
宾馆安全管理制度
2015/08/06 职场文书
vue实现省市区联动 element-china-area-data插件
2022/04/22 Vue.js