千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術(shù)干貨  > Python 解釋器的作用

Python 解釋器的作用

來源:千鋒教育
發(fā)布人:xqq
時間: 2023-11-07 22:34:00 1699367640

python解釋器的主要作用是將我們在.py文件中寫好的代碼交給機器去執(zhí)行,比較常見的解釋器包括如下幾種:

CPython:官方解釋器,我們從官網(wǎng)下載安裝后獲得的就是這個解釋器,它使用C語言開發(fā),是使用范圍最廣泛的Python解釋器。

Jython:由Java編寫,它可以將Python代碼編譯成Java字節(jié)碼,再由JVM執(zhí)行對應(yīng)的字節(jié)碼。

IronPython:與Jython類似,它由C#編寫,是運行在.Net平臺上的解釋器。

IPython:基于CPython的一個交互式解釋器,它主要增強了CPython的交互方式。

PyPy:采用了JIT技術(shù),它是一個關(guān)注執(zhí)行速度的Python解釋器,該解釋器可以明顯提升Python代碼的執(zhí)行速度。

GIL

GIL全稱globalinterpreterlock,中文譯為全局解釋器鎖,CPython解釋器就是通過GIL機制來確保同一時刻只有一個線程執(zhí)行Python代碼的,這樣做十分方便的幫助CPython解決了并發(fā)訪問的線程安全問題,但卻犧牲了在多處理器上的并行性,所以CPython解釋器下的多線程并不是真正意義上的多線程。

我們可能會有一個疑問:既然CPython解釋器使用GIL機制犧牲了多線程的并行性,那么把GIL去掉換用其他方式實現(xiàn)不行嗎?在說這個問題之前,我們先簡單了解一下基本情況:最初因GIL可以簡單、快捷的解決多線程并發(fā)訪問的安全問題選擇了這種機制,隨后又有大量的代碼庫開發(fā)者開始依賴這種特性,隨之時間的推移,人們開始意識到了并行性的問題,但這時已經(jīng)到了尾大不掉的程度了,所以現(xiàn)實情況是:盡管可以去掉GIL,但工程量太大了。

以上內(nèi)容為大家介紹了Python解釋器的作用,希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓機構(gòu):千鋒教育。

tags: python培訓
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內(nèi)將與您1V1溝通
免費領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學 138****2860 剛剛成功領(lǐng)取
王同學 131****2015 剛剛成功領(lǐng)取
張同學 133****4652 剛剛成功領(lǐng)取
李同學 135****8607 剛剛成功領(lǐng)取
楊同學 132****5667 剛剛成功領(lǐng)取
岳同學 134****6652 剛剛成功領(lǐng)取
梁同學 157****2950 剛剛成功領(lǐng)取
劉同學 189****1015 剛剛成功領(lǐng)取
張同學 155****4678 剛剛成功領(lǐng)取
鄒同學 139****2907 剛剛成功領(lǐng)取
董同學 138****2867 剛剛成功領(lǐng)取
周同學 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT