国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

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

2020-02-23 06:21:29
字體:
供稿:網(wǎng)友

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

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

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

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

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

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

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

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

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

示例代碼:

from java.lang import SystemSystem.out.write('Hello World!/n')

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

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

5.PyPy:Python的Python實(shí)現(xiàn)版本,原理是這樣的,PyPy運(yùn)行在CPython(或者其它實(shí)現(xiàn))之上,用戶程序運(yùn)行在PyPy之上。它的一個(gè)目標(biāo)是成為Python語言自身的試驗(yàn)場(chǎng),因?yàn)榭梢院苋菀椎匦薷腜yPy解釋器的實(shí)現(xiàn)(因?yàn)樗鞘褂肞ython寫的)。

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

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 永吉县| 申扎县| 广饶县| 小金县| 江山市| 辽宁省| 墨竹工卡县| 祁东县| 彩票| 济宁市| 且末县| 黄骅市| 五大连池市| 平乡县| 珲春市| 景德镇市| 河东区| 深州市| 普宁市| 大厂| 蕲春县| 静安区| 广宁县| 赣州市| 广南县| 婺源县| 眉山市| 嘉兴市| 罗城| 稷山县| 东辽县| 屏东县| 长丰县| 杭州市| 奉贤区| 海口市| 澳门| 明光市| 仁寿县| 海晏县| 哈尔滨市|