區別
編碼
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 |