當前位置:編程學習大全網 - 源碼下載 - Python的幾種實現

Python的幾種實現

這裏的實現指的是符合Python語言規範的Python解釋器和標準庫。雖然這些實現實現了相同的語言,但是它們之間還是有壹些差異,尤其是它們和CPython之間。下面列出了幾個主要的實現。1.CPython:這是Python的正式版本,用C語言實現,應用最廣泛,新的語言特性壹般都是先出現在這裏。CPython實現會把源文件(py文件)轉換成字節碼文件(pyc文件),然後在Python虛擬機上運行。2.Jython:這是Python的Java實現。與CPython相比,其與Java語言的互操作性遠高於CPython與C語言之間的互操作性。Java代碼庫可以直接在Python中使用,方便了為Java程序編寫測試代碼。此外,可以使用圖形庫(如Swing)用Python編寫GUI程序。Jython會將Python代碼動態編譯成Java字節碼,然後在JVM上運行轉換後的程序,也就是說這個時候Python程序和Java程序沒有區別,只是源代碼不同。用Python寫壹個類並像Java類壹樣使用它是很容易的。您甚至可以將Jython腳本靜態編譯成Java字節碼。示例代碼:來自Java . langimportsystemsystem . out . write(' Hello World!\n')3。Python對於。NET:它本質上是。NET由CPython實現,與。NET庫和程序代碼。4.IronPython:不同於Python的for。NET,它是Python的C#實現,它把Python代碼編譯成C#中間代碼(類似Jython)然後運行,它和的互操作性。網語也很好。5.PyPy: Python的Python實現版本。原理如下:Pypy運行在CPython(或者其他實現)上,用戶程序運行在PyPy上。它的目標之壹是成為Python語言本身的試驗場,因為PyPy解釋器的實現很容易修改(因為它是用Python編寫的)。6.無堆棧:CPython的壹個限制是每個Python函數調用都會生成壹個C函數調用。這意味著並發的函數調用是有限的,所以Python很難實現用戶級的線程庫和復雜的遞歸應用。壹旦超過這個限制,程序就會崩潰。Stackless的Python實現突破了這個限制,壹個C棧幀可以有任意數量的Python棧幀。這樣,您可以擁有幾乎無限的函數調用,並支持大量的線程。無堆棧的唯壹問題是,它必須對現有的CPython解釋器進行重大修改。所以它幾乎是壹個獨立的分支。另壹個名為Greenlets的項目也支持微線程。它是標準的C擴展,所以不需要修改標準的Python解釋器。
  • 上一篇:python web開發框架哪個好
  • 下一篇:新媒體概論中對平衡和對稱理論的理解是什麽
  • copyright 2024編程學習大全網