溫馨提示×

溫馨提示×

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

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

Python編程語言的實現(xiàn)內(nèi)幕是怎么樣的

發(fā)布時間:2021-10-26 14:59:10 來源:億速云 閱讀:81 作者:柒染 欄目:編程語言

這篇文章將為大家詳細(xì)講解有關(guān)Python編程語言的實現(xiàn)內(nèi)幕是怎么樣的,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。

Python“ 時,他們可能想到的是有時稱為 ”CPython“(因為它是以 C 實現(xiàn)的)的這種特定實現(xiàn)。但 Python 作為一種語言規(guī)范,已隨著 Guido van Rossum 的參考實現(xiàn)的演變而實現(xiàn)了多次。包含對兩種非標(biāo)準(zhǔn) Python -- Stackless 和 Vyper。

developWorks 網(wǎng)站上的 Linux 專區(qū)是有關(guān) Linux、Linux 資源和 Linux 開發(fā)的開發(fā)者資源。
據(jù)我了解,現(xiàn)在可以下載并運行四種 Python 的實現(xiàn),還有一種實現(xiàn)正在創(chuàng)建中。每種實現(xiàn)都有其存在的特殊理由,這些理由可以在這里從實現(xiàn)開發(fā)者自己的話語里了解到。

對不同的平臺重新編譯編譯器或解釋器所產(chǎn)生的實現(xiàn)只是略有不同(可能有少量的條件性編譯和更改),但最有趣的實現(xiàn)(就我而言)是超越平臺問題的那些。實際上,我們在這篇文章中將要看到的那些 Python 實現(xiàn)大多本身就是多平臺。實現(xiàn)的概念也與 版本的概念有所區(qū)別。

就語言特性而言,這里談到的所有實現(xiàn)基本上都處于同一語言版本 (1.5.2)。很明顯,CPython 1.6/2.0/3000 已經(jīng)有一個部分屬于新的基本實現(xiàn),但其它實現(xiàn)可以同樣地與那些語言級別的特性一致。

重新實現(xiàn)了哪些編程語言,實現(xiàn)的頻率怎樣,出于什么原因,以及由誰實現(xiàn)?要形容這組語言非常困難。某些與 Python 幾乎處同一地位的流行語言 -- 例如 perl、REBOL 和 PHP -- 只有一種實現(xiàn)(編譯成許多平臺)。TCL 與 Perl/PHP 最為相似,但 確實有一種稱為 Jacl 的 Java 平臺版本。

從另一個極端來看,例如 C、Awk、Cobol、REXX 和 Java 這樣的語言,每個都曾經(jīng)被無數(shù)次地實現(xiàn)。但那些再實現(xiàn)是為了許可和營銷等考慮,而不是出于實現(xiàn)的概念和抽象問題。似乎有特殊學(xué)術(shù)意味的那些語言重新實現(xiàn)得很多(特別是函數(shù)性、邏輯性或超純 OOP 語言,例如Smalltalk 和 Eiffel)。Lisp 沒有幾百個也有幾十個實現(xiàn)和派生。

與我們將要討論的 Python 實現(xiàn)不同,Lisp 的派生在提供新實現(xiàn)的同時往往引入許多新穎的 語言特性。Python 實現(xiàn)在很大程度上實現(xiàn)和主要 CPython 版本 相同的 Python 語言。所有現(xiàn)有的版本都是開放源碼合作努力的結(jié)果,這種情況下,創(chuàng)新與市場定位沒有太大關(guān)系,甚至與有時導(dǎo)致開放源碼項目分裂的許可證爭斗也沒有什么關(guān)系。

而且,不同的 Python 版本也不是真正傳統(tǒng)意義上的 支流,而集中于不同的概念,正是這些概念證明它本身就是 Python 實現(xiàn)。

兩種沒有詳細(xì)說明的實現(xiàn)是 JPython 和 Python.NET。JPython 是以 Java 編寫的編譯器,用于將 Python 源代碼編譯成 Java 字節(jié)碼。Python 應(yīng)用程序最終是在 JVM(用戶可能不知道它是以 Python 源代碼而不是 Java 編寫的,他們也不需要關(guān)心)中運行的。Python.NET 是個還未交付的實現(xiàn),但它 -- 至少在結(jié)構(gòu)上 -- 將與 JPython 相似。

Python.NET 將讓 Python 參與到微軟的 .NET 項目中,該項目基本上接近于一個可以運行以各種語言(例如新的 C#、Visual、Basic、C++,以及 Python)編寫的程序的非 Java VM。請隨時關(guān)注這些實現(xiàn)的開發(fā)者發(fā)布的信息。

關(guān)于Python編程語言的實現(xiàn)內(nèi)幕是怎么樣的就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

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

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

AI