溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

選擇哪個(gè)python版本會(huì)好點(diǎn)

發(fā)布時(shí)間:2020-09-03 09:59:57 來源:億速云 閱讀:295 作者:小新 欄目:編程語言

這篇文章主要介紹了選擇哪個(gè)python版本會(huì)好點(diǎn),具有一定借鑒價(jià)值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

Python有幾種不同版本的實(shí)現(xiàn)方式,因?yàn)樗鼈冋诜e極開發(fā)中,版本會(huì)定期發(fā)布。目前,有四種產(chǎn)品完備的、強(qiáng)大和穩(wěn)定的主流Python實(shí)現(xiàn):

選擇哪個(gè)python版本會(huì)好點(diǎn)

CPython是常規(guī)的老版本Python,也是我們通常所稱的Python。它既是編譯器也是解釋器,有自己的一套全部用標(biāo)準(zhǔn)C語言編寫的標(biāo)準(zhǔn)程序包和模塊。該版本可以直接用于所有流行的當(dāng)前平臺(tái)。大多數(shù)的Python第三方程序包和庫與此版本兼容。

PyPy是Python實(shí)現(xiàn)的一個(gè)更快實(shí)現(xiàn),它使用JIT編譯器來使代碼運(yùn)行速度比CPython實(shí)現(xiàn)的速度更快——有時(shí)提供達(dá)10x-100x的加速。PyPy還有更高的內(nèi)存效率,支持greenlet和stackless從而具有高并行性和并發(fā)性。

Jython是Java平臺(tái)的Python實(shí)現(xiàn),它支持Java虛擬機(jī)(Java Virtual Machine,JVM),適用于任何版本的Java(版本最好是7以上)。通過使用Jython,你可以用所有類型的Java庫、包和框架來編寫代碼。當(dāng)你更多地了解Java語法和Java中廣泛使用的OOP原則(如類、對(duì)象和接口)時(shí),它的效果最好。

IronPython是流行的Microsoft .NET框架的Python實(shí)現(xiàn),也稱為通用語言運(yùn)行時(shí)(Common Language Runtime,CLR)。你可以使用IronPython中的所有Microsoft CLR庫和框架,即使你實(shí)質(zhì)上并不需要在C#中編寫代碼,它也有助于你更多地了解C#的語法和構(gòu)造,以有效地使用IronPython。

我們首先建議你使用默認(rèn)的Python版本,即CPython實(shí)現(xiàn),只有當(dāng)你真的有興趣與其它語言(如C#和Java)進(jìn)行接口并需要在代碼庫中使用它們時(shí),才可以去嘗試其它版本。

關(guān)于使用何種版本的Python尚有許多爭論。最好的方法是你要考慮解決的問題以及需要使用的完整軟件生態(tài)系統(tǒng),從庫、依賴關(guān)系和架構(gòu)開始到實(shí)現(xiàn)和部署——同時(shí)也要考慮重用現(xiàn)有的舊代碼庫。

如前所述,兩個(gè)主要的Python版本是2.x系列和3.x系列。它們是非常相似的,但是在3.x版本中出現(xiàn)了幾個(gè)向后不兼容的變化,這導(dǎo)致在使用2.x的人和使用3.x的人之間產(chǎn)生了巨大遷移。PyPI上的大多數(shù)遺留代碼和大部分的Python包都是在Python 2.7.x中開發(fā)的,因?yàn)樗璧墓ぷ髁坎粫?huì)很小,許多程序包的所有者沒有時(shí)間或意愿將其將所有代碼庫移植到Python 3.x。下面是3.x系列中的一些變化:

默認(rèn)情況下,所有文本字符串均為Unicode。

print和exec現(xiàn)在是函數(shù),不再是語句。

range()返回一個(gè)內(nèi)存高效的iterable,而不再是一個(gè)列表。

修改了類的風(fēng)格。

基于慣例和類型沖突進(jìn)行了庫和名稱變更。

要了解更多Python 3.0所引入的變更情況,請(qǐng)查看https://docs.python.org/3/whatsnew/3.0.html,上面的官方文檔列出了變更。如果你將代碼從Python 2移植到Python 3,關(guān)于什么變化會(huì)破壞你的代碼,這個(gè)鏈接應(yīng)該給你一個(gè)很好的解讀。

對(duì)于選擇哪個(gè)版本的問題,對(duì)此并沒有絕對(duì)的答案。它純粹取決于你正在試圖解決的問題,現(xiàn)有代碼和具有的基礎(chǔ)設(shè)施,將來如何維護(hù)代碼以及所有必要的依賴關(guān)系。

如果你正在開始一個(gè)全新項(xiàng)目,也非常清楚你并不需要任何僅依賴于Python 2.x的外部程序包和庫,那么你可以繼續(xù)使用Python 3.x并啟動(dòng)系統(tǒng)開發(fā)。但是,如果你有很多依賴于外部的程序包,并且可能會(huì)破壞Python 3.x或僅僅適用于Python 2.x,那么你就別無選擇,只能堅(jiān)持使用Python 2.x了。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享選擇哪個(gè)python版本會(huì)好點(diǎn)內(nèi)容對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,遇到問題就找億速云,詳細(xì)的解決方法等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI