python2 與 python3的主要差異
阿新 • • 發佈:2018-12-22
1.__future__模組
python3 介紹的一些特性可以通過python2內建的__future__模組匯入
比如,python2 要實現在python3 中的整除
from __future__ import division
2.python3 中,print生命已經被print()函式取代了
3.整除
#python 2 print 3/2 #1 print 3//2 #1 print 3/2.0 #1.5 print 3//2.0 #1.0 #python 3 print(3/2) #1.5 print(3//2) #1 print(3//2.0) #1.5 print(3//2.0) #1.0
5.xrange模組 ,python3中已經取消,2使用xrange()建立迭代物件非常流行,xrange()比range()快
6.python3 中 range物件的__contians__方法,可以加速查詢整數和布林型別
7.Raising exceptions:
#python2
raise IoError ,"file error"
#python 3
raise IoError("file error")
8.Handing exceptions
在python3中處理異常也輕微改變了,使用as作為關鍵字。
#python 2 except NameError ,err: #python 3 except NameError as err:
9.3中next()函式和.next()方法
10.python3中改善了for迴圈變數和全域性名稱空間的洩露,迴圈控制變數不在洩露進周圍的作用域。
11.比較不可排序型別
3中當比較不可排序型別時,會報型別錯誤TypeError
12.返回迭代物件而不是列表
list()將迭代物件轉換成列表
python3 中返回的是迭代物件而不是列表的函式和方法
zip()
map()
reduce()
dict.keys()....
詳細地址 http://chenqx.github.io/2014/11/10/Key-differences-between-Python-2-7-x-and-Python-3-x/