1. 程式人生 > >python2 與 python3的主要差異

python2 與 python3的主要差異

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/