溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

python源代碼被解釋器轉(zhuǎn)換后的格式是什么?

發(fā)布時(shí)間:2020-05-21 09:58:00 來源:億速云 閱讀:1154 作者:Leah 欄目:編程語言

python源代碼被解釋器轉(zhuǎn)換后的格式是什么?針對這個(gè)問題,今天小編總結(jié)這篇有關(guān)python的文章,希望能幫助更多想解決這個(gè)問題的朋友找到更加簡單易行的辦法。

python源代碼被解釋器轉(zhuǎn)換后的格式為“.pyc”。

當(dāng)我們編寫Python代碼時(shí),我們得到的是一個(gè)包含Python代碼的以.py為擴(kuò)展名的文本文件。要運(yùn)行代碼,就需要Python解釋器去執(zhí)行.py文件。

解釋器由一個(gè)編譯器和一個(gè)虛擬機(jī)構(gòu)成,編譯器負(fù)責(zé)將源代碼轉(zhuǎn)換成字節(jié)碼文件,而虛擬機(jī)負(fù)責(zé)執(zhí)行字節(jié)碼。

所以,解釋型語言其實(shí)也有編譯過程,只不過這個(gè)編譯過程并不是直接生成目標(biāo)代碼,而是中間代碼(字節(jié)碼),然后再通過虛擬機(jī)來逐行解釋執(zhí)行字節(jié)碼。

執(zhí)行 python XX.py 后,將會(huì)啟動(dòng) Python 的解釋器,python解釋器的編譯器會(huì)將.py源文件編譯(解釋)成字節(jié)碼生成PyCodeObject字節(jié)碼對象存放在內(nèi)存中。

python解釋器的虛擬機(jī)將執(zhí)行內(nèi)存中的字節(jié)碼對象轉(zhuǎn)化為機(jī)器語言,虛擬機(jī)與操作系統(tǒng)交互,使機(jī)器語言在機(jī)器硬件上運(yùn)行。運(yùn)行結(jié)束后python解釋器則將PyCodeObject寫回到pyc文件中。

pyc文件,文件中包含python的magic number(來說明編譯時(shí)使用的python版本號(hào))、源文件的mtime(使pyc和py文件保持同步)、編譯出的code對象。

以上就是python源代碼被解釋器轉(zhuǎn)換后的格式的介紹內(nèi)容了,看完之后是否有所收獲呢?如果想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊!

向AI問一下細(xì)節(jié)

免責(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)容。

AI