最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python的另外幾種語言實現(xiàn)

 更新時間:2015年01月29日 14:48:21   投稿:junjie  
這篇文章主要介紹了Python的另外幾種語言實現(xiàn),本文介紹了CPython、Jython、Python for .NET、PyPy、Stackless等其它幾種語言實現(xiàn)的Python,需要的朋友可以參考下

Python自身作為一門編程語言,它有多種實現(xiàn)。這里的實現(xiàn)指的是符合Python語言規(guī)范的Python解釋程序以及標(biāo)準(zhǔn)庫等。這些實現(xiàn)雖然實現(xiàn)的是同一種語言,但是彼此之間,特別是與CPython之間還是有些差別的。

下面分別列出幾個主要的實現(xiàn)。

1.CPython:這是Python的官方版本,使用C語言實現(xiàn),使用最為廣泛,新的語言特性一般也最先出現(xiàn)在這里。

CPython實現(xiàn)會將源文件(py文件)轉(zhuǎn)換成字節(jié)碼文件(pyc文件),然后運(yùn)行在Python虛擬機(jī)上。

2.Jython:這是Python的Java實現(xiàn),相比于CPython,它與Java語言之間的互操作性要遠(yuǎn)遠(yuǎn)高于CPython和C語言之間的互操作性。

在Python中可以直接使用Java代碼庫,這使得使用Python可以方便地為Java程序?qū)憸y試代碼,更進(jìn)一步,可以在Python中使用Swing等圖形庫編寫GUI程序。

Jython會將Python代碼動態(tài)編譯成Java字節(jié)碼,然后在JVM上運(yùn)行轉(zhuǎn)換后的程序,這意味著此時Python程序與Java程序沒有區(qū)別,只是源代碼不一樣。

在Python 中寫一個類,像使用Java 類一樣使用這個類是很容易的事情。

你甚至可以把Jython 腳本靜態(tài)地編譯為Java 字節(jié)碼。

示例代碼:

from java.lang import System
System.out.write('Hello World!\n')

3.Python for .NET:它實質(zhì)上是CPython實現(xiàn)的.NET托管版本,它與.NET庫和程序代碼有很好的互操作性。

4.IronPython:不同于Python for .NET,它是Python的C#實現(xiàn),并且它將Python代碼編譯成C#中間代碼(與Jython類似),然后運(yùn)行,它與.NET語言的互操作性也非常好。

5.PyPy:Python的Python實現(xiàn)版本,原理是這樣的,PyPy運(yùn)行在CPython(或者其它實現(xiàn))之上,用戶程序運(yùn)行在PyPy之上。它的一個目標(biāo)是成為Python語言自身的試驗場,因為可以很容易地修改PyPy解釋器的實現(xiàn)(因為它是使用Python寫的)。

6.Stackless:CPython的一個局限就是每個Python函數(shù)調(diào)用都會產(chǎn)生一個C函數(shù)調(diào)用。 這意味著同時產(chǎn)生的函數(shù)調(diào)用是有限制的,因此Python難以實現(xiàn)用戶級的線程庫和復(fù)雜遞歸應(yīng)用。一旦超越這個限制,程序就會崩潰。Stackless的Python實現(xiàn)突破了這個限制,一個C棧幀可以擁有任意數(shù)量的Python棧幀。這樣你就能夠擁有幾乎無窮的函數(shù)調(diào)用,并能支持巨大數(shù)量的線程。Stackless唯一的問題就是它要對現(xiàn)有的CPython解釋器做重大修改。所以它幾乎是一個獨立的分支。另一個名為Greenlets的項目也支持微線程。它是一個標(biāo)準(zhǔn)的C擴(kuò)展,因此不需要對標(biāo)準(zhǔn)Python解釋器做任何修改。

您可能感興趣的文章:

相關(guān)文章

最新評論

永春县| 合山市| 博兴县| 韶山市| 嘉黎县| 黎平县| 保康县| 宣恩县| 澄迈县| 宁都县| 芒康县| 平潭县| 房产| 城口县| 宁化县| 班戈县| 娱乐| 昆山市| 望奎县| 鹰潭市| 南平市| 林芝县| 于田县| 会同县| 康定县| 靖远县| 南京市| 汪清县| 崇文区| 肇源县| 渭源县| 临夏市| 宁波市| 静海县| 财经| 钟祥市| 巨鹿县| 辛集市| 东乡县| 鸡西市| 鲁山县|