這篇文章將為大家詳細講解有關(guān)Python編程語言的實現(xiàn)內(nèi)幕是怎么樣的,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。
創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比前郭網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式前郭網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋前郭地區(qū)。費用合理售后完善,十年實體公司更值得信賴。
Python“ 時,他們可能想到的是有時稱為 ”CPython“(因為它是以 C 實現(xiàn)的)的這種特定實現(xiàn)。但 Python 作為一種語言規(guī)范,已隨著 Guido van Rossum 的參考實現(xiàn)的演變而實現(xià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)的概念和抽象問題。似乎有特殊學術(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)系,甚至與有時導致開放源碼項目分裂的許可證爭斗也沒有什么關(guān)系。
而且,不同的 Python 版本也不是真正傳統(tǒng)意義上的 支流,而集中于不同的概念,正是這些概念證明它本身就是 Python 實現(xiàn)。
兩種沒有詳細說明的實現(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)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。