2010-07-15 148 views
7

既然有一個python 3.x,爲什麼我們不使用它?
爲什麼我們仍然使用2.x?
有什麼區別?python 2.x or 3.x

回答

14

已編寫Python 2.6和2.7以簡化向Python 3的過渡。 移植更復雜的軟件包(即具有許多依賴關係的庫或用C語言編寫的庫)需要一些時間。

所以如果你正在開始新的項目,並且你需要的所有庫都在那裏,那麼從3.1開始就是有意義的。其中一個更受歡迎的變化是默認處理Unicode字符串 - 它將防止大量的錯誤。

但是,如果您要將完整的ERP應用程序(或2.6到3.x的任何大型應用程序)移植到其中,那麼現在可能是一場流血事件。舉例來說,unicode變化是2.x - > 3.x中最難應用的,而低級C API也發生了很大變化。

8

由於3.x不能與2.x向後兼容,因此很多應用程序和庫都是爲2.x系列編寫的。 3.x是他們試圖清理所有在Python中從來不應該出現的問題......並且他們不得不做出一些突破性的改變。現在可能最好堅持使用2.x,直到3.x獲得更多的人氣。

+2

是的,我認爲讓很多人回來的主要原因是缺少很多流行庫的Python 3版本。 – 2010-07-15 07:46:46

2

因爲很多庫都尚未移植到3.x我猜...而且由於許多應用仍然在2.X

5

如果你正在編寫一個新的應用程序,運行,不依賴對沒有3.x支持的圖書館,我建議你去3.x.讓我們來創建一些臨界質量:)

看看在python 3 documentation本身