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构建Hopfield网络的教程
Apr 14 Python
python使用7z解压apk包的方法
Apr 18 Python
Python os模块学习笔记
Jun 21 Python
详谈Python基础之内置函数和递归
Jun 21 Python
tensorflow识别自己手写数字
Mar 14 Python
python书籍信息爬虫实例
Mar 19 Python
Pycharm设置界面全黑的方法
May 23 Python
Python实现求解一元二次方程的方法示例
Jun 20 Python
Django框架中间件定义与使用方法案例分析
Nov 28 Python
Python unittest框架操作实例解析
Apr 13 Python
python字符串的index和find的区别详解
Jun 20 Python
python3.7 openpyxl 在excel单元格中写入数据实例
Sep 01 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调用mysql数据 dbclass类
2011/05/07 PHP
PHP 面向对象程序设计(oop)学习笔记(一) - 抽象类、对象接口、instanceof 和契约式编程
2014/06/12 PHP
jquery实现带二级菜单的导航示例
2014/04/28 Javascript
浅谈JavaScript的Polymer框架中的behaviors对象
2015/07/29 Javascript
JQuery统计input和textarea文字输入数量(代码分享)
2016/12/29 Javascript
老生常谈combobox和combotree模糊查询
2017/04/17 Javascript
详解AngularJs ui-router 路由的简单介绍
2017/04/26 Javascript
JavaScript简介_动力节点Java学院整理
2017/06/26 Javascript
浅谈Vue.js中的v-on(事件处理)
2017/09/05 Javascript
JavaScript门面模式详解
2017/10/19 Javascript
Node.js中sequelize时区的配置方法
2017/12/10 Javascript
使用Vue实现图片上传的三种方式
2018/07/17 Javascript
微信小程序3种位置API的使用方法详解
2019/08/05 Javascript
node.js域名解析实现方法详解
2019/11/05 Javascript
使用vue重构资讯页面的实例代码解析
2019/11/26 Javascript
JS实现简单的表格增删
2020/01/16 Javascript
python使用Berkeley DB数据库实例
2014/09/26 Python
Linux下为不同版本python安装第三方库
2016/08/31 Python
Tensorflow累加的实现案例
2020/02/05 Python
Django+boostrap 美化admin后台的操作
2020/03/11 Python
基于tf.shape(tensor)和tensor.shape()的区别说明
2020/06/30 Python
python3.7调试的实例方法
2020/07/21 Python
Python类型转换的魔术方法详解
2020/12/23 Python
CSS3使用border-radius属性制作圆角
2014/12/22 HTML / CSS
印尼太阳百货公司网站:Matahari
2018/02/04 全球购物
俄罗斯汽车零件和配件在线商店:CarvilleShop
2019/11/29 全球购物
SQL Server提供的3种恢复模型都是什么? 有什么区别?
2012/05/13 面试题
什么叫应用程序域?什么是托管代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?CTS、CLS和CLR分别作何解释?
2012/05/23 面试题
车辆维修工自我评价怎么写
2013/09/20 职场文书
采购部经理岗位职责
2014/02/10 职场文书
演讲稿格式范文
2014/05/19 职场文书
中学生社会实践活动总结
2014/07/03 职场文书
安全伴我行演讲稿
2014/09/04 职场文书
2014年后勤工作总结范文
2014/12/16 职场文书
李强感恩观后感
2015/06/17 职场文书
2016最新离婚协议书范本及程序
2016/03/18 职场文书