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的Twisted框架中Deferred对象的用法
May 25 Python
浅谈五大Python Web框架
Mar 20 Python
Pycharm学习教程(1) 定制外观
May 02 Python
python构建深度神经网络(DNN)
Mar 10 Python
python生成密码字典的方法
Jul 06 Python
python使用scrapy发送post请求的坑
Sep 04 Python
python 异或加密字符串的实例
Oct 14 Python
python实现飞机大战游戏(pygame版)
Oct 26 Python
Python 在 VSCode 中使用 IPython Kernel 的方法详解
Sep 05 Python
Python3.9最新版下载与安装图文教程详解(Windows系统为例)
Nov 28 Python
python matplotlib工具栏源码探析三之添加、删除自定义工具项的案例详解
Feb 25 Python
python 如何在 Matplotlib 中绘制垂直线
Apr 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
Netflix将与CLAMP、乙一以及冲方丁等6名知名制作人合伙展开原创动画计划!
2020/03/06 日漫
php下判断数组中是否存在相同的值array_unique
2008/03/25 PHP
php 静态页面中显示动态内容
2009/08/14 PHP
在Windows系统上安装PHP运行环境文字教程
2010/07/19 PHP
浅谈PHP变量作用域以及地址引用问题
2013/12/27 PHP
使用DNode实现php和nodejs之间通信的简单实例
2015/07/06 NodeJs
输入法的回车与消息发送快捷键回车的冲突解决方法
2016/08/09 Javascript
easyui datebox 时间限制,datebox开始时间限制结束时间,datebox截止日期比起始日期大的实现代码
2017/01/12 Javascript
d3.js中冷门却实用的内置函数总结
2017/02/04 Javascript
详解使用Node.js 将txt文件转为Excel文件
2017/07/05 Javascript
基于rem的移动端响应式适配方案(详解)
2017/07/07 Javascript
vue组件实现可搜索下拉框扩展
2020/10/23 Javascript
详解创建自定义的Angular Schematics
2018/06/06 Javascript
ES6 系列之 Generator 的自动执行的方法示例
2018/10/19 Javascript
Layui实现数据表格默认全部显示(不要分页)
2019/10/26 Javascript
js实现数字滚动特效
2019/12/16 Javascript
JavaScript运行机制实例分析
2020/04/11 Javascript
一文读懂vue动态属性数据绑定(v-bind指令)
2020/07/20 Javascript
js实现简单抽奖功能
2020/11/24 Javascript
Python3.4 splinter(模拟填写表单)使用方法
2018/10/13 Python
Python设计模式之模板方法模式实例详解
2019/01/17 Python
详解用python自制微信机器人,定时发送天气预报
2019/03/25 Python
python中的RSA加密与解密实例解析
2019/11/18 Python
python 在threading中如何处理主进程和子线程的关系
2020/04/25 Python
教你一分钟在win10终端成功安装Pytorch的方法步骤
2021/01/28 Python
CSS3实现背景透明文字不透明的示例代码
2018/06/25 HTML / CSS
印尼最大的婴儿用品购物网站:Orami
2017/09/28 全球购物
英国评分最高的女性剃须刀订阅盒:FFS Beauty
2018/01/25 全球购物
Lancer Skincare官方网站:抗衰老皮肤护理
2020/11/20 全球购物
记者岗位职责
2014/01/06 职场文书
新任教师自我鉴定
2014/02/24 职场文书
文明寝室申报材料
2014/05/12 职场文书
优秀语文教师事迹
2014/05/18 职场文书
设备售后服务承诺书
2014/05/30 职场文书
python实现会员信息管理系统(List)
2022/03/18 Python
Python面试不修改数组找出重复的数字
2022/05/20 Python