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