相對於常見的幾種語言C,C#,JAVA,Python的運行原理
由於CPU只能識別機器碼,即我們常說的二進制碼01010101
有任何語言在計算機上運行最終都要轉化成CPU能夠識別的機器碼010101
對於C語言:通過C語言代碼編譯器將C語言寫出的代碼進行編譯得到機器碼,然後機器碼就可以交給CPU去識別,即運行
對於其他語言:代碼編譯器將代碼編譯成字節碼,然後通過各自的虛擬機將字節碼進一步處理(轉換)成機器碼(0101010101),然後在處理器上運行
Python和C 首先Python是用C開發而來的
Python的類庫齊全並且使用簡潔,如果實現同樣的功能,Python可能用幾行代碼完成,而C可能要上百行代碼才能實現
Python和C的運行速度,因為Python多了一個編譯器將Python代碼轉換成字節碼,然後將字節碼交給Python的虛擬機轉換成轉換成機器碼,而C直接有編譯器直接轉換成機器碼,所以Python和C語言相比,C語言運行更快
Python和java、C#等
Linux原裝都帶有Python,無需安裝,而其他語言沒有,雖然他們都有各自的豐富的類庫,
Python在速度上可能少遜色一點
Python的種類:
Cpython
Python的官方版本,使用C語言實現,使用最為廣泛,CPython實現會將源文件(py文件)轉換成字節碼文件(pyc文件),然後運行在Python虛擬機上。
Jyhton
Python的Java實現,Jython會將Python代碼動態編譯成Java字節碼,然後在JVM上運行。
IronPython
Python的C#實現,IronPython將Python代碼編譯成C#字節碼,然後在CLR上運行。(與Jython類似)
PyPy(特殊)
Python實現的Python,將Python的字節碼字節碼再編譯成機器碼。
RubyPython、Brython ...