您好,登錄后才能下訂單哦!
這篇文章主要介紹運(yùn)行一個(gè)python程序的方法,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
要運(yùn)行Python程序,需要用到Python解釋器。
python解釋器是一種讓其他程序運(yùn)行起來的程序。Python也有一個(gè)名為解釋器的軟件包,當(dāng)你編寫了一段Python程序,Python解釋器將讀取程序,并按照其中的命令執(zhí)行,得出結(jié)果。實(shí)際上,解釋器是代碼與機(jī)器的計(jì)算機(jī)硬件之間的軟件邏輯層。
當(dāng)Python包安裝在機(jī)器上后,它包含了一些最小化的組件:一個(gè)解釋器和支持的庫。根據(jù)使用情況的不同,Python解釋器可能采取可執(zhí)行程序的形式,或是作為鏈接到另一個(gè)程序的一系列庫。根據(jù)選用的Python版本的不同,解釋器本身可以用C程序?qū)崿F(xiàn),或一些Java類實(shí)現(xiàn),或者其他形式。無論采用何種形式,編寫的Python代碼必須在解釋器中運(yùn)行。故,首先要在機(jī)器上安裝Python解釋器。
可以根據(jù)不同的平臺去官網(wǎng)(http://www.python.org)下載獲得對應(yīng)的Python,安裝即可
程序執(zhí)行
編寫或運(yùn)行Python程序的意義是什么呢?這個(gè)取決于你是從一個(gè)程序員還是Python編譯器的角度去看這個(gè)問題。
當(dāng)Python運(yùn)行腳本時(shí),在代碼開始進(jìn)行處理之前,Python還會執(zhí)行一些步驟。
字節(jié)碼編譯
程序執(zhí)行時(shí),Python內(nèi)部會先將源代碼編譯成字節(jié)碼的形式。編譯是一個(gè)簡單的翻譯步驟,而且字節(jié)碼是源代碼底層的、與平臺無關(guān)的表現(xiàn)形式。概括來講,就是Python通過把每一條源代碼分解為單一步驟來將這些源語句翻譯成一組字節(jié)碼指令。這些字節(jié)碼可以提高執(zhí)行速度。這個(gè)過程對于用戶來說是完全隱藏起來的。
如果Python進(jìn)程在機(jī)器上擁有寫入權(quán)限,那么它將程序的字節(jié)碼保存為一個(gè)以.pyc為擴(kuò)展名的文件。Python這樣保存字節(jié)碼是作為一種啟動速度的優(yōu)化。下一次運(yùn)行時(shí),如果在上次保存字節(jié)碼后沒有修改過源代碼,Python會加載.pyc文件跳過編譯這一步。當(dāng)Python必須重新編譯時(shí),它會自動檢查源文件和字節(jié)碼文件的時(shí)間戳。
如果Python無法再機(jī)器上寫入字節(jié)碼,程序仍然可以工作:字節(jié)碼將會在內(nèi)存中生成并在程序結(jié)束時(shí)丟棄。
Python虛擬機(jī)(PVM)
一旦程序編譯成字節(jié)碼(或字節(jié)碼從已經(jīng)存在的.pyc文件中載入),之后的字節(jié)碼發(fā)送到PVM上執(zhí)行。PVM不是一個(gè)獨(dú)立的程序,不需要安裝。PVM是迭代運(yùn)行字節(jié)碼指令的一個(gè)大循環(huán),一個(gè)接一個(gè)的完成操作。PVM是便宜Python的運(yùn)行引擎,表現(xiàn)為Python系統(tǒng)的一部分,并且它是實(shí)際運(yùn)行腳本的組件。技術(shù)上講,它才是Python解釋器的最后一步。
以上是運(yùn)行一個(gè)python程序的方法的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。