区别
编码
python2中默认编码为ASII,而Python3中默认使用的Unicode,这里指的是在文件和内存里的存储方式。
需要注意的是,如果python2文件中用utf-8声明,加载到内存里解码方式也是utf-8,对于window系统而言,其默认的编码是gbk,所以执行结果还是乱码。
字符串
python2中字符串是byte类型字符串,python3中字符串是unicode类型字符串。
# 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 |