Python2与Python3的主要区别

区别

编码

python2中默认编码为ASII,而Python3中默认使用的Unicode,这里指的是在文件和内存里的存储方式。

需要注意的是,如果python2文件中用utf-8声明,加载到内存里解码方式也是utf-8,对于window系统而言,其默认的编码是gbk,所以执行结果还是乱码。

字符串

python2中字符串是byte类型字符串,python3中字符串是unicode类型字符串。

print

# python2
print '打印'

# python3
print('打印',end='')

python2中print是特殊语句,python3中print是函数,而且新增了end参数。

除法

# python2
>> 5/2
2

# python3
>> 5/2
2.5

python2中整数相除结果为向下取整的整数,python3中整数相除结果为浮点数。

异常处理

# python2
raise ValueError,ex

except ValueError ,e

# python3
raise ValueError(ex)

except ValueError as e

python2中异常触发过程,先创建异常对象,然后传入参数;python3中直接创建异常对象。

其他模块名

python2 python3
ConfigParser ConfigParser
itertools.ifilter filter
itertools.imap map
itertools.zip zip
raw_input input
xrange range
reduce functools.reduce
socketServer Socketserver
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章