當我們編寫Python代碼時,我們得到的是一個包含Python代碼的以 由于整個Python語言從規(guī)范到解釋器都是開源的,所以理論上,只要水平夠高,任何人都可以編寫Python解釋器來執(zhí)行Python代碼(當然難度很大)。事實上,確實存在多種Python解釋器。 CPython當我們從Python官方網站下載并安裝好Python 3.5后,我們就直接獲得了一個官方版本的解釋器:CPython。這個解釋器是用C語言開發(fā)的,所以叫CPython。在命令行下運行 CPython是使用最廣的Python解釋器。教程的所有代碼也都在CPython下執(zhí)行。 IPythonIPython是基于CPython之上的一個交互式解釋器,也就是說,IPython只是在交互方式上有所增強,但是執(zhí)行Python代碼的功能和CPython是完全一樣的。好比很多國產瀏覽器雖然外觀不同,但內核其實都是調用了IE。 CPython用 PyPyPyPy是另一個Python解釋器,它的目標是執(zhí)行速度。PyPy采用JIT技術,對Python代碼進行動態(tài)編譯(注意不是解釋),所以可以顯著提高Python代碼的執(zhí)行速度。 絕大部分Python代碼都可以在PyPy下運行,但是PyPy和CPython有一些是不同的,這就導致相同的Python代碼在兩種解釋器下執(zhí)行可能會有不同的結果。如果你的代碼要放到PyPy下執(zhí)行,就需要了解PyPy和CPython的不同點。 JythonJython是運行在Java平臺上的Python解釋器,可以直接把Python代碼編譯成Java字節(jié)碼執(zhí)行。 IronPythonIronPython和Jython類似,只不過IronPython是運行在微軟.Net平臺上的Python解釋器,可以直接把Python代碼編譯成.Net的字節(jié)碼。 小結Python的解釋器很多,但使用最廣泛的還是CPython。如果要和Java或.Net平臺交互,最好的辦法不是用Jython或IronPython,而是通過網絡調用來交互,確保各程序之間的獨立性。 本教程的所有代碼只確保在CPython 3.5版本下運行。請務必在本地安裝CPython(也就是從Python官方網站下載的安裝程序)。 |
|