Python程序的執行過程

解釋器

解釋器是代碼與機器的計算機硬件之間的軟件邏輯層,是一種讓其他程序運行起來的程序。
Python解釋器將讀取一段Python程序,並按照其中的命令執行,得出結果。編寫的Python程序必須在解釋器中執行。
當Python包安裝在機器上後,它包含了一些最小化的組件:一個解釋器和支持的庫。
Python解釋器可能採取可執行程序的形式,或是作爲鏈接到另一個程序的一系列庫。
根據選用的Python版本的不同,解釋器本身可以用C程序實現,或一些Java類實現,或者其他的形式。

字節碼編譯

當程序執行時,Python內部會先將源代碼編譯成所謂字節碼的形式。.py–>.pyc
Python字節碼不是機器的二進制代碼。字節碼是特定於Python的一種表現形式。
下次運行程序時,如果你在上次保存字節碼之後沒有修改過源代碼的話,Python將會加載.pyc文件並直接跳過編譯這個步驟。
當Python必須重編譯時,它會自動檢查源文件和字節碼文件的時間戳:如果你又保存了源代碼,下次程序運行時,字節碼將自動重新創建。

Python虛擬機(PVM)

編譯好的字節碼文件在PVM上運行。
PVM就是迭代運行字節碼指令的一個大循環,一個接一個地完成操作。
PVM是Python的運行引擎,它時常表現爲Python系統的一部分,並且它是實際運行腳本的組件。

在此總結一下,Python程序的執行過程是在解釋器上完成的,具體爲:自動把源程序編譯成字節碼文件,虛擬機執行字節碼文件。


圖1

發佈了56 篇原創文章 · 獲贊 108 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章