官术网_书友最值得收藏!

1.6 Python是怎樣運(yùn)行的

Python是一種解釋執(zhí)行的語言,所以它運(yùn)行時(shí)首先需要一個(gè)解釋器,然后就是需要程序運(yùn)行時(shí)支持的庫,該庫包含一些已經(jīng)編寫好的組件、算法、數(shù)據(jù)結(jié)構(gòu)等。

那么Python是怎么運(yùn)行的呢?整個(gè)運(yùn)行過程大致分為以下3個(gè)步驟。

首先由開發(fā)人員編寫程序代碼,也就是編碼階段。

其次,解釋器將程序代碼編譯為字節(jié)碼,字節(jié)碼是以后綴為.pyc文件的形式存在,默認(rèn)放置在Python安裝目錄的_pycache_文件夾下,主要作用是提高程序的運(yùn)行速度,如圖1-18所示。

圖1-18 _pycache_文件夾

注意

一段代碼,會(huì)被編譯成字節(jié)碼放在_pycache_文件夾的緩存里面。下次再運(yùn)行該代碼時(shí),解釋器首先判斷該代碼是否改變過,如果沒有改變過,解釋器會(huì)從編譯好的字節(jié)碼緩存中調(diào)取后運(yùn)行,這樣就可以加快程序的運(yùn)行速度。

最后,解釋器將編譯好的字節(jié)碼載入一個(gè)Python虛擬機(jī)(Python Virtual Machine)中運(yùn)行。Python的整個(gè)運(yùn)行過程如圖1-19所示。

圖1-19 Python程序運(yùn)行過程

主站蜘蛛池模板: 宜都市| 集安市| 景谷| 昌图县| 沅陵县| 铜梁县| 德庆县| 南岸区| 衡阳县| 库伦旗| 禄丰县| 昌乐县| 宁城县| 广宁县| 维西| 平顺县| 赤水市| 苗栗县| 高尔夫| 海宁市| 扶绥县| 琼海市| 遂宁市| 乐至县| 长阳| 都安| 庆元县| 连山| 鄂伦春自治旗| 玉溪市| 固安县| 凤凰县| 霞浦县| 文安县| 灌南县| 闻喜县| 锡林浩特市| 大厂| 登封市| 西宁市| 齐齐哈尔市|