python2和python3的区别
Posted wangshuliang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python2和python3的区别相关的知识,希望对你有一定的参考价值。
在这里总结一下python2和python3的区别:
一.输入
在python2中用 input_raw() 函数
在python3中用 input() 函数
二.输出
python2:print 语句,语句就意味着可以直接跟要打印的东西,如果后面接的是一个元组对象,直接打印
python3:print函数,函数就以为这必须要加上括号才能调用--------print()
三.编码
python2:默认编码 ascii
python3:默认编码 utf-8
四.字符串类型
版本 | python2 | python3 |
字节字符串 | str | bytes |
文本字符串 | unicode | str |
五.除法
python2中/的结果是整形,python3中是浮点类型。
六.导入
python2中的包导入顺序:标准库—相对倒入(即当前目录)—绝对导入(sys.path)
python3中的包导入顺序:标准库—绝对导入(如果想要相对导入,使用from .moudel)
七.类
python2中默认类是旧式类,需要显式继承新式类(object)来创建新式类。
python3中完全移除旧式类,所有类都是新式类,但仍可显式继承object类。
八.重命名模块
python3 | python2 |
---|---|
Configparser | ConfigParser |
filter | itertools.ifilter |
input | raw_input |
map | itertools.imap |
range | xrange |
functools.reduce | reduce |
socketserver | SocketServer |
zip | itertools.izip |
九.模块合并
python2中的StringIO和cStringIO合并为python3中的io
python2中的pickle和cPickle合并为python3中的pickle。
python2中的urllib、urllib2和urlparse合并为python3中的urllib
十.字典
python2中的dict类中的keys、values和items均返回list对象,iterkeys、itervalues和iteritems返回生成器对象。
python3中移除了list、只返回一个生成器的对象,只保留视图(生成器),但方法名为:keys、values和items。
以上是关于python2和python3的区别的主要内容,如果未能解决你的问题,请参考以下文章