python解释器有哪几种_Python解释器种类以及特点?
python解釋器是什么?
英語(yǔ):Interpreter,又譯為直譯器,是一種電腦程序能夠把高級(jí)編程語(yǔ)言一行一行直接轉(zhuǎn)譯運(yùn)行。解釋器不會(huì)一次把整個(gè)程序轉(zhuǎn)譯出來(lái),只像一位“中間人”,每次運(yùn)行程序時(shí)都要先轉(zhuǎn)成另一種語(yǔ)言再作運(yùn)行,因此解釋器的程序運(yùn)行速度比較緩慢。它每轉(zhuǎn)譯一行程序敘述就立刻運(yùn)行,然后再轉(zhuǎn)譯下一行,再運(yùn)行,如此不停地進(jìn)行下去。
計(jì)算機(jī)的大腦是CPU, 中文名叫中央處理器,它不能直接處理我們編輯好的Python代碼。CPU 只能直接處理機(jī)器指令語(yǔ)言,那是一種由0和1數(shù)字組成的語(yǔ)言。所以我們需要一個(gè)中間翻譯, 把Python語(yǔ)言翻譯成計(jì)算機(jī)CPU能聽(tīng)懂的機(jī)器指令語(yǔ)言,這樣計(jì)算機(jī)才能按照 我們的Python程序的要求去做事。
Python是一門(mén)解釋器語(yǔ)言,代碼想運(yùn)行,必須通過(guò)解釋器執(zhí)行。Python存在多種解釋器,分別基于不同語(yǔ)言開(kāi)發(fā),每個(gè)解釋器有不同的特點(diǎn),但都能正常運(yùn)行Python代碼,以下是常用的五種Python解釋器:
CPython
官方版本的解釋器:CPython。這個(gè)解釋器是用C語(yǔ)言開(kāi)發(fā)的,所以叫CPython。在命令行下運(yùn)行python就是啟動(dòng)CPython解釋器。CPython是使用最廣的Python解釋器。
IPython
IPython是基于CPython之上的一個(gè)交互式解釋器,也就是說(shuō),IPython只是在交互方式上有所增強(qiáng),但是執(zhí)行Python代碼的功能和CPython是完全一樣的。CPython用>>>作為提示符,而IPython用In [序號(hào)]:作為提示符。
PyPyPyPy是另一個(gè)Python解釋器,它的目標(biāo)是執(zhí)行速度。PyPy采用JIT技術(shù),對(duì)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平臺(tái)上的Python解釋器,可以直接把Python代碼編譯成Java字節(jié)碼執(zhí)行。
IronPython
IronPython和Jython類似,只不過(guò)IronPython是運(yùn)行在微軟.Net平臺(tái)上的Python解釋器,可以直接把Python代碼編譯成.Net的字節(jié)碼。
小結(jié)
Python的解釋器很多,但使用最廣泛的還是CPython。如果要和Java或.Net平臺(tái)交互,最好的辦法不是用Jython或IronPython,而是通過(guò)網(wǎng)絡(luò)調(diào)用來(lái)交互,確保各程序之間的獨(dú)立性。
總結(jié)
以上是生活随笔為你收集整理的python解释器有哪几种_Python解释器种类以及特点?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: js 对象去除undefined_und
- 下一篇: 白云山脚下的廉价菜-饮胜酒家