解釋型語言/編譯型語言
計算機不能直接理解高級語言,只能直接理解機器語言。
只有把高級語言翻譯成機器語言,計算機才能執行高級語言編寫的程序。
翻譯的方式有兩種
- 編譯。
- 解釋。
對於編譯型語言而言,編譯生成了目標文件,而這個目標文件是針對特定的 CPU 體系的,爲 ARM 生成的目標文件,不能被用於 MIPS 的 CPU。這段代碼在編譯過程中就已經被翻譯成了目標 CPU 指令,所以,如果這個程序需要在另外一種 CPU 上面運行,這個代碼就必須重新編譯。
對於解釋型語言而言,同樣也可能存在某種編譯過程,但它們編譯生成的通常是一種『平臺無關』的中間代碼,這種代碼一般不是針對特定的 CPU 平臺,它們是在運行過程中才被翻譯成目標 CPU 指令的。因而,在 ARM CPU 上能執行,換到 MIPS 也能執行,換到 X86 也能執行,不需要重新對源代碼進行編譯。
Python優點
簡單、優雅、明確。
強大的模塊三方庫。
易移植。
面向對象。
可擴展(C\JAVA\C#/…)。
Python缺點
代碼不能加密。
速度慢。
Python編程風格
強制縮進規範化。
縮進統一。
Python解釋器
解釋器是一種讓其他程序運行起來的程序。
解釋器是代碼與機器的計算機硬件之間的軟件邏輯層。
CPython
CPython解釋器是用C語言開發的。
在命令行下運行python
就是啓動CPython解釋器。
CPython用>>>
作爲提示符。
IPython
IPython是基於CPython之上的一個交互式解釋器。
IPython用In [序號]:
作爲提示符。
PyPy
PyPy解釋器的目標是執行速度。
PyPy採用JIT技術
,對Python代碼進行動態編譯,提高Python代碼的執行速度。
Jython
Jython是運行在Java平臺上的Python解釋器,可以直接把Python代碼編譯成Java字節碼執行。
IronPython
IronPython是運行在微軟.Net平臺上的Python解釋器,可以直接把Python代碼編譯成.Net的字節碼。