python培訓機構(粵嵌科技)表示:現在的人工智能和大數據已經是時代發展的趨勢了,很多的公司已經開啟了人工智能和大數據的篇章。那么在python程序中它的執行原理是什么呢?
我們都知道,使用CC++之類的編譯性語言編寫的程序,是需要從源文件轉換成計算機使用的機器語言,經過鏈接器鏈接之后形成了二進制可執行文件。運行該程序的時候,就可以二進制程序從硬盤載入到內存中并運行。
但是對于Python而言,Python源碼不需要編譯成二進制代碼,它可以直接從源代碼運行程序序。 Python解釋器將源代碼轉換為字節碼,然后把編譯好的字節碼轉發到Python虛擬機(PVM)中進行執行。接下來,通過一張圖來描述 Python程序的執行過程,當我們運行Python程序的時候,Python解釋器會執行兩個步
(1) 把源代碼編譯成字節碼。編譯后的字節碼是特定于Python的一種表現形式,它不是二進制的機器碼,需要進一步編譯才能被機器執行,這也是Python代碼無法運行的像CC++一樣快的原因。如果Python進程在機器上擁有寫入權限,那么它將把程序的字節碼保存為一個以.pyc為擴展名的文件,如果Python無法在機器上寫入字節碼,那么宇節碼將會在內存中生成并在程序結束時自動丟棄。在構建程序的時候給Python賦上在計算機上寫的權限,這樣只要源代碼沒有改變,生成的.pyc文件可以重復利用,提高執行效率。
(2) 把編譯好的字節碼轉發到Python虛擬機(PVM)中進行執行。PVM是Python Virtual Machine的簡稱,它是Python的運行引擎,是Python系統的一部分,它是迭代運行字節碼指令的一個大循環,一個接一個地完成操作。