Python常用編譯器原理及特點(diǎn)解析
python要知道怎么用好編譯器。當(dāng)我們編寫Python代碼時(shí),我們得到的是一個(gè)包含Python代碼的以.py為擴(kuò)展名的文本文件。要運(yùn)行代碼,就需要Python解釋器去執(zhí)行.py文件。
由于整個(gè)Python語言從規(guī)范到解釋器都是開源的,所以理論上,只要水平夠高,任何人都可以編寫Python解釋器來執(zhí)行Python代碼(當(dāng)然難度很大)。事實(shí)上,確實(shí)存在多種Python解釋器,比如:
CPython
當(dāng)我們從Python官方網(wǎng)站下載并安裝好Python 3.x后,我們就直接獲得了一個(gè)官方版本的解釋器:CPython。這個(gè)解釋器是用C語言開發(fā)的,所以叫CPython。在命令行下運(yùn)行python就是啟動(dòng)CPython解釋器。
CPython是使用最廣的Python解釋器。教程的所有代碼也都在CPython下執(zhí)行。
IPython
IPython是基于CPython之上的一個(gè)交互式解釋器,也就是說,IPython只是在交互方式上有所增強(qiáng),但是執(zhí)行Python代碼的功能和CPython是完全一樣的。好比很多國產(chǎn)瀏覽器雖然外觀不同,但內(nèi)核其實(shí)都是調(diào)用了IE。
CPython用>>>作為提示符,而IPython用In [序號]:作為提示符。
PyPy
PyPy是另一個(gè)Python解釋器,它的目標(biāo)是執(zhí)行速度。PyPy采用JIT技術(shù),對Python代碼進(jìn)行動(dòng)態(tài)編譯(注意不是解釋),所以可以顯著提高Python代碼的執(zhí)行速度。
絕大部分Python代碼都可以在PyPy下運(yùn)行,但是PyPy和CPython有一些是不同的,這就導(dǎo)致相同的Python代碼在兩種解釋器下執(zhí)行可能會(huì)有不同的結(jié)果。如果你的代碼要放到PyPy下執(zhí)行,就需要了解PyPy和CPython的不同點(diǎn)。
Jython
Jython是運(yùn)行在Java平臺上的Python解釋器,可以直接把Python代碼編譯成Java字節(jié)碼執(zhí)行。
IronPython
IronPython和Jython類似,只不過IronPython是運(yùn)行在微軟.Net平臺上的Python解釋器,可以直接把Python代碼編譯成.Net的字節(jié)碼。
以上的你都見過吧:雖然Python的解釋器很多,但使用最廣泛的還是CPython。如果要和Java或.Net平臺交互,最好的辦法不是用Jython或IronPython,而是通過網(wǎng)絡(luò)調(diào)用來交互,確保各程序之間的獨(dú)立性。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python實(shí)現(xiàn)歷史記錄功能(實(shí)際案例)
很多應(yīng)用程序都有瀏覽用戶的歷史記錄的功能,瀏覽器可以查看最近訪問過的網(wǎng)頁,現(xiàn)在我們制作了一個(gè)簡單的猜數(shù)字的小游戲,添加歷史記錄功能,顯示用戶最近猜過的數(shù)字,如何實(shí)現(xiàn)呢?跟隨小編一起看看吧2022-04-04
python tkinter GUI繪制,以及點(diǎn)擊更新顯示圖片代碼
這篇文章主要介紹了python tkinter GUI繪制,以及點(diǎn)擊更新顯示圖片代碼,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03
python如何實(shí)現(xiàn)遠(yuǎn)程控制電腦(結(jié)合微信)
這篇文章主要介紹了python如何實(shí)現(xiàn)遠(yuǎn)程控制電腦,利用python設(shè)計(jì)了一個(gè)程序來實(shí)現(xiàn)自由管控,感興趣的小伙伴們可以參考一下2015-12-12
Numpy創(chuàng)建數(shù)組和隨機(jī)數(shù)組的方法小結(jié)
這篇文章主要為大家詳細(xì)介紹了Numpy創(chuàng)建數(shù)組和隨機(jī)數(shù)組的方法小結(jié),文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)Python有一定幫助,具有一定的參考價(jià)值,需要的可以參考一下2023-11-11
使用Python結(jié)合Tkinter和PyAutoGUI開發(fā)精確截圖工具
在日常工作中,截圖是一個(gè)非常常見的需求,雖然?Windows?自帶截圖工具,但有時(shí)我們需要更精確的截圖方式,比如選取特定區(qū)域、快速保存截圖并進(jìn)行預(yù)覽,本篇博客將介紹一個(gè)使用?Python?結(jié)合?Tkinter?和?PyAutoGUI?開發(fā)的精確截圖工具,需要的朋友可以參考下2025-03-03
Python連接達(dá)夢數(shù)據(jù)庫的實(shí)現(xiàn)示例
本文主要介紹了Python連接達(dá)夢數(shù)據(jù)庫的實(shí)現(xiàn)示例,dmPython是DM提供的依據(jù)Python DB API version 2.0中API使用規(guī)定而開發(fā)的數(shù)據(jù)庫訪問接口,使Python應(yīng)用程序能夠?qū)M數(shù)據(jù)庫進(jìn)行訪問2023-12-12
如何實(shí)現(xiàn)在遠(yuǎn)程linux服務(wù)器上運(yùn)行python代碼
這篇文章主要介紹了如何實(shí)現(xiàn)在遠(yuǎn)程linux服務(wù)器上運(yùn)行python代碼問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12

