您好,登錄后才能下訂單哦!
這篇文章主要介紹了選擇哪個python版本會好點,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
Python有幾種不同版本的實現(xiàn)方式,因為它們正在積極開發(fā)中,版本會定期發(fā)布。目前,有四種產(chǎn)品完備的、強大和穩(wěn)定的主流Python實現(xiàn):
CPython是常規(guī)的老版本Python,也是我們通常所稱的Python。它既是編譯器也是解釋器,有自己的一套全部用標(biāo)準(zhǔn)C語言編寫的標(biāo)準(zhǔn)程序包和模塊。該版本可以直接用于所有流行的當(dāng)前平臺。大多數(shù)的Python第三方程序包和庫與此版本兼容。
PyPy是Python實現(xiàn)的一個更快實現(xiàn),它使用JIT編譯器來使代碼運行速度比CPython實現(xiàn)的速度更快——有時提供達10x-100x的加速。PyPy還有更高的內(nèi)存效率,支持greenlet和stackless從而具有高并行性和并發(fā)性。
Jython是Java平臺的Python實現(xiàn),它支持Java虛擬機(Java Virtual Machine,JVM),適用于任何版本的Java(版本最好是7以上)。通過使用Jython,你可以用所有類型的Java庫、包和框架來編寫代碼。當(dāng)你更多地了解Java語法和Java中廣泛使用的OOP原則(如類、對象和接口)時,它的效果最好。
IronPython是流行的Microsoft .NET框架的Python實現(xiàn),也稱為通用語言運行時(Common Language Runtime,CLR)。你可以使用IronPython中的所有Microsoft CLR庫和框架,即使你實質(zhì)上并不需要在C#中編寫代碼,它也有助于你更多地了解C#的語法和構(gòu)造,以有效地使用IronPython。
我們首先建議你使用默認(rèn)的Python版本,即CPython實現(xiàn),只有當(dāng)你真的有興趣與其它語言(如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系列中的一些變化:
默認(rèn)情況下,所有文本字符串均為Unicode。
print和exec現(xiàn)在是函數(shù),不再是語句。
range()返回一個內(nèi)存高效的iterable,而不再是一個列表。
修改了類的風(fēng)格。
基于慣例和類型沖突進行了庫和名稱變更。
要了解更多Python 3.0所引入的變更情況,請查看https://docs.python.org/3/whatsnew/3.0.html,上面的官方文檔列出了變更。如果你將代碼從Python 2移植到Python 3,關(guān)于什么變化會破壞你的代碼,這個鏈接應(yīng)該給你一個很好的解讀。
對于選擇哪個版本的問題,對此并沒有絕對的答案。它純粹取決于你正在試圖解決的問題,現(xiàn)有代碼和具有的基礎(chǔ)設(shè)施,將來如何維護代碼以及所有必要的依賴關(guān)系。
如果你正在開始一個全新項目,也非常清楚你并不需要任何僅依賴于Python 2.x的外部程序包和庫,那么你可以繼續(xù)使用Python 3.x并啟動系統(tǒng)開發(fā)。但是,如果你有很多依賴于外部的程序包,并且可能會破壞Python 3.x或僅僅適用于Python 2.x,那么你就別無選擇,只能堅持使用Python 2.x了。
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享選擇哪個python版本會好點內(nèi)容對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,遇到問題就找億速云,詳細(xì)的解決方法等著你來學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。