python程式碼是解釋型語言,為什麼還有編譯過程?

kakawith發表於2018-08-27

   Python 程式碼在執行前,會先編譯(翻譯)成中間程式碼,每個 .py 檔案將被換轉成 .pyc 檔案,.pyc 就是一種位元組碼檔案,它是與平臺無關的中間程式碼,不管你放在 Windows 還是 Linux 平臺都可以執行,執行時將由虛擬機器逐行把位元組碼翻譯成目的碼。

  安裝Python 時候,會有一個 Python.exe 檔案,這就是 Python 直譯器,你寫的每一行 Python 程式碼都是由它負責執行直譯器由一個編譯器和一個虛擬機器構成,編譯器負責將原始碼轉換成位元組碼檔案,而虛擬機器負責執行位元組碼,所以,解釋型語言其實也有編譯過程,只不過這個編譯過程並不是直接生成目的碼,而是中間程式碼(位元組碼),然後再通過虛擬機器來逐行解釋執行位元組碼。

總結

  Python程式碼首先會編譯成一個位元組碼檔案,再由虛擬機器逐行解釋,把每一行位元組碼程式碼翻譯成目標指令給CPU執行。

相關文章