python3和python2的优劣_python2和python3的区别
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
1.字符串类型
python中有两种字符类型:字节字符串和文本字符串。
版本python2python3
字节字符串strbytes
文本字符串Unicodestr
2.默认字符
python2中默认的字符串类型默认是ASCII,python3中默认的字符串类型是Unicode。
3.print
python2中,print是个特殊语句,python3中print是函数。
python2:print 'hello word!'
python3:print('hello word!',file=sys.stderr)
4.除法/
python2中/的结果是整型,python3中是浮点类型。
5.导入
python2中的包导入顺序:标准库—相对倒入(即当前目录)—绝对导入(sys.path)
python3中的包导入顺序:标准库—绝对导入(如果想要相对导入,使用from .moudel)
6.类
python2中默认类是旧式类,需要显式继承新式类(object)来创建新式类。
python3中完全移除旧式类,所有类都是新式类,但仍可显式继承object类。
7.元类声明
python2中声明元类:__metaclass__ = MetaClass
python3中声明元类:class newclass(metaclass=MetaClass):pass
8.异常
python2中引发异常:raise ValueError,'Invalid value'
python3中引发异常:raise ValueError('Invalid value')——在python2中也生效
9.处理异常
python2中处理异常:
try:
raise ValueError,'Invalid value'
except ValueError,e:
pass
python3中处理异常:
try:
raise ValueError,'Invalid value'
except ValueError as e:#在python2中也生效
pass
python2中异常链会丢失原始异常信息,即:处理B异常时引发了A异常,B异常信息会丢失。
python3中将原始异常信息赋值给__context__属性。并且可以显式指定一个异常作为另一个异常的子句:raise DatabaseError() from IOError()
10.字典
python2中的dict类中的keys、values和items均返回list对象,iterkeys、itervalues和iteritems返回生成器对象。
python3中移除了list、只返回一个生成器的对象,只保留视图(生成器),但方法名为:keys、values和items。
11.模块合并
python2中的StringIO和cStringIO合并为python3中的io
python2中的pickle和cPickle合并为python3中的pickle。
python2中的urllib、urllib2和urlparse合并为python3中的urllib
12.重命名模块
python3python2
ConfigparserConfigParser
filteritertools.ifilter
inputraw_input
mapitertools.imap
rangexrange
functools.reducereduce
socketserverSocketServer
zipitertools.izip
---------------------
python3和python2的优劣_python2和python3的区别相关推荐
- python3学哪个版本好玩_python2和python3到底应该学哪个好?
许多刚入门 Python 的朋友都在纠结的的问题是:我应该选择学习 python2 还是 python3,Python 3.7 已经发布了,目前Python的用户,主要使用的版本 应该是 Python ...
- python3语法都相同吗_python2 与 python3 语法区别--转
原文地址:http://old.sebug.net/paper/books/dive-into-python3/porting-code-to-python-3-with-2to3.html 使用2t ...
- print在python2和python3的区别_Python2和Python3中print的不同点
在Python2和Python3中都提供print()方法来打印信息,但两个版本间的print稍微有差异 主要体现在以下几个方面: 1.python3中print是一个内置函数,有多个参数,而pyth ...
- python2和python3的默认编码_python2和python3哪个版本新
Python2 还是 Python3 ? py2.7是2.x系列的最后一个版本,已经停止开发,不再增加新功能.2020年终止支持. 所有的最新的标准库的更新改进,只会在3.x的版本里出现. Pytho ...
- python2与_python2和python3的区别
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 1.字符串类型 python中有两种字符类型:字节字符串和文本字符串. 版本python2python3 字节字符串strbytes 文本字符串Unico ...
- python2和python3的默认编码_Python2和Python3中的字符串编码问题解决
原博文 2018-01-02 11:38 − Python2和Python3在字符串编码上是有明显的区别. 在Python2中,字符串无法完全地支持国际字符集和Unicode编码.为了解决这种限制,P ...
- python3对比python2的更新点
python3对比python2的更新点: Python2官方基础模块:urllib2 第三方功能包:requests python3中urllib库和urilib2库合并成了urllib库. 其中u ...
- python中3or5什么意思_示例详解Python3 or Python2 两者之间的差异
每门编程语言在发布更新之后,主要版本之间都会发生很大的变化. 在本文中,Vinodh Kumar 通过示例解释了 Python 2 和 Python 3 之间的一些重大差异,以帮助说明语言的变化. 本 ...
- python3.7.2安装-最新Centos7安装python3并与python2共存
1.查看是否已经安装Python CentOS 7.2 默认安装了python2.7.5 因为一些命令要用它比如yum 它使用的是python2.7.5. 使用 python -V 命令查看一下是否安 ...
最新文章
- WaitForMultipleObjects用法详解
- Makefile 实际用例分析(一) ------- 比较通用的一种架构
- 项目中使用completablefuture_“工业冷冻用中大型冷盐水机组使用R290替代R22项目”通过验收...
- python字符串前加r、f、u、l 的区别
- 【C++】简约的for循环
- 创建订单 - 保存订单与子订单数据
- mybatis获取oracle xmltype_Mybatis【入门】
- Python中字符串操作函数string.split('str1')和string.join(ls)
- java延时执行_Java谓词的延迟执行
- [css] 说说sroll-snap-type属性的运用场景有哪些?相关联的属性还有哪些?
- JS设计模式——10.门面模式
- C#:遍历JObject
- smtp邮件服务器的作用,smtp服务器是什么意思(smtp服务器作用及使用指南)
- 计算机算法基础_如何自学计算机专业
- BFS - Marching Legion - ab Knight
- C#莱姆达表达式的使用
- 电脑检测工具eve_检测电脑硬件的软件(系统硬件检测工具)
- C++之观察者(Event-Subscriber)模式
- 读白帽子讲WEB安全,摘要
- emplace_back不能取代push_back的情况