先說結論,python是解釋型語言。
何為編譯?
1、產生目標檔。
2、且目標文件是針對特定的 CPU 體系的,為ARM產生的目標文件,不能被用於MIPS的CPU,也不能用於x86的CPU。反過來說也是成立的。
也就是說這段程式碼在產生目標檔案的過錯中就已經被翻譯成了目標CPU指令,所以如果這個程式需要在另一個CPU上面運行,這個程式碼就必須重新翻譯。
而上述這個翻譯過程叫做編譯。
何為解釋?
對於各種非編譯型語言(例如python/java)來說,可能不存在某種翻譯成中間檔案的過錯,可能存在某種編譯成中間檔案的過程
如果有翻譯過錯,那麼他們翻譯產生的通常是一種『平台無關』的中間程式碼,這種程式碼一般不是針對特定的CPU平台,他們是在運作過程中才翻譯成目標CPU指令的,因而在ARM CPU上能執行,換到MIPS也能執行,換到x86也能執行,不需要重新對原始碼進行翻譯。
而由於這些中間程式碼並不是能在CPU上直接運行,所以需要某種中介(叫做虛擬機)在執行時負責把程式碼翻譯成CPU能執行的指令。
以上是python是編譯型語言嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!