在Google's Python Class讀取使用Python解釋器時,是否使用了編譯器?
Python是一種動態的,解釋(字節碼編譯)語言
我知道一個解釋是什麼,知道什麼是字節碼,但兩人似乎在一起並不合適。在doing some reading之後,它變得更清楚一點,基本上Python源代碼在解釋之前自動編譯;但出現了一些新問題。
使用Python Interpreter時是否沒有編譯?如果是這樣,什麼時候?例如,如果您只是在命令行輸入代碼,並且每次按Enter時都會運行代碼,那麼編譯器何時有機會完成其工作?
在鏈接另外質疑以上,@delnan給出了一個編譯器的一個非常廣泛的定義
編譯器是更普遍的是,在一個 編程語言中的程序轉換成在一程序的程序另一種編程語言 ...的JIT編譯器編譯爲本地機器代碼在運行時
我想我的問題是:什麼是一個解釋器和編譯器自動的區別?爲了細化這個問題,如果編譯Python,爲什麼不編譯所有的機器代碼(或彙編,因爲我知道編寫能夠生成純機器代碼的編譯器很困難)?
你是什麼意思的自動編譯器? – igon
@igon我的紅色Python有一個編譯器,但我在創建用Python編寫的程序時肯定已經明確地使用它。 「Python有一個編譯器!你只是沒有注意到它,因爲它會自動運行。」來自http://programmers.stackexchange.com/questions/136942/why-doesnt-python-need-a-compiler。我的觀點是,這不會和翻譯一樣嗎? – Celeritas