Python有幾種不同版本的實現方式,因為它們正在積極開發中,版本會定期發布。目前,有四種產品完備的、強大和穩定的主流Python實現:
1.CPython是常規的老版本Python,也是我們通常所稱的Python。它既是編譯器也是解釋器,有自己的一套全部用標準C語言編寫的標準程序包和模塊。該版本可以直接用于所有流行的當前平臺。大多數的Python第三方程序包和庫與此版本兼容。
2.PyPy是Python實現的一個更快實現,它使用JIT編譯器來使代碼運行速度比CPython實現的速度更快——有時提供達10x-100x的加速。PyPy還有更高的內存效率,支持greenlet和stackless從而具有高并行性和并發性。
3.Jython是Java平臺的Python實現,它支持Java虛擬機(Java Virtual Machine,JVM),適用于任何版本的Java(版本最好是7以上)。通過使用Jython,你可以用所有類型的Java庫、包和框架來編寫代碼。當你更多地了解Java語法和Java中廣泛使用的OOP原則(如類、對象和接口)時,它的效果最好。
4.IronPython是流行的Microsoft .NET框架的Python實現,也稱為通用語言運行時(Common Language Runtime,CLR)。你可以使用IronPython中的所有Microsoft CLR庫和框架,即使你實質上并不需要在C#中編寫代碼,它也有助于你更多地了解C#的語法和構造,以有效地使用IronPython。
首先建議你使用默認的Python版本,即CPython實現,只有當你真的有興趣與其它語言(如C#和Java)進行接口并需要在代碼庫中使用它們時,才可以去嘗試其它版本。
關于使用何種版本的Python尚有許多爭論。最好的方法是你要考慮解決的問題以及需要使用的完整軟件生態系統,從庫、依賴關系和架構開始到實現和部署——同時也要考慮重用現有的舊代碼庫。
如前所述,兩個主要的Python版本是2.x系列和3.x系列。它們是非常相似的,但是在3.x版本中出現了幾個向后不兼容的變化,這導致在使用2.x的人和使用3.x的人之間產生了巨大遷移。PyPI上的大多數遺留代碼和大部分的Python包都是在Python 2.7.x中開發的,因為所需的工作量不會很小,許多程序包的所有者沒有時間或意愿將其將所有代碼庫移植到Python 3.x。下面是3.x系列中的一些變化:
默認情況下,所有文本字符串均為Unicode。
print和exec現在是函數,不再是語句。
range()返回一個內存高效的iterable,而不再是一個列表。
修改了類的風格。
基于慣例和類型沖突進行了庫和名稱變更。
對于選擇哪個版本的問題,對此并沒有絕對的答案。它純粹取決于你正在試圖解決的問題,現有代碼和具有的基礎設施,將來如何維護代碼以及所有必要的依賴關系。
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com