什麼是CPython__Python

來源:互聯網
上載者:User

CPython是特指C語言實現的Python,就是原汁原味的Python。

之所以使用CPython這個詞,是因為Python還有一些其它的實現,比如Jython,就是Java版的Python,還有燒腦的PyPy,使用Python再把Python實現了一遍。

如下是官方對CPython的說明:

CPython is Guido van Rossum’s reference version of the Python computing language. It’s most often called simply “Python”; speakers say “CPython” generally to distinguish it explicitly from other implementations.

這個頁面對Python各種不同的實現有一個說明:

https://wiki.python.org/moin/PythonImplementations?action=show&redirect=implementation

當我們編寫Python代碼時,我們得到的是一個包含Python代碼的以.py為副檔名的文字檔。要運行代碼,就需要Python解譯器去執行.py檔案。

由於整個Python語言從規範到解譯器都是開源的,所以理論上,只要水平夠高,任何人都可以編寫Python解譯器來執行Python代碼(當然難度很大)。事實上,確實存在多種Python解譯器。

CPython
當我們從Python官方網站下載並安裝好Python 3.5後,我們就直接獲得了一個官方版本的解譯器:CPython。這個解譯器是用C語言開發的,所以叫CPython。在命令列下運行python就是啟動CPython解譯器。
CPython是使用最廣的Python解譯器。教程的所有代碼也都在CPython下執行。

IPython
IPython是基於CPython之上的一個互動式解譯器,也就是說,IPython只是在互動方式上有所增強,但是執行Python代碼的功能和CPython是完全一樣的。好比很多國產瀏覽器雖然外觀不同,但核心其實都是調用了IE。

CPython用>>>作為提示符,而IPython用In [序號]:作為提示符。

PyPy
PyPy是另一個Python解譯器,它的目標是執行速度。PyPy採用JIT技術,對Python代碼進行動態編譯(注意不是解釋),所以可以顯著提高Python代碼的執行速度。
絕大部分Python代碼都可以在PyPy下運行,但是PyPy和CPython有一些是不同的,這就導致相同的Python代碼在兩種解譯器下執行可能會有不同的結果。如果你的代碼要放到PyPy下執行,就需要瞭解PyPy和CPython的不同點。

Jython
Jython是運行在Java平台上的Python解譯器,可以直接把Python代碼編譯成Java位元組碼執行。

IronPython
IronPython和Jython類似,只不過IronPython是運行在微軟.Net平台上的Python解譯器,可以直接把Python代碼編譯成.Net的位元組碼。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.