黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

淺談python編譯過程

系統 2444 0

python是一門解釋性語言

什么是解釋性語言?學過C語言的同學都知道C語言是一門編譯性語言,那么這里我們就要清楚的了解 解釋性語言 編譯性語言 有什么區別。

編譯性語言:
只須編譯一次就可以把源代碼編譯成機器語言,后面的執行無須重新編譯,直接使用之前編譯的結果即可;因此其執行效率比較高。例如:C語言、C++等

解釋性語言:
源代碼不能直接被編譯為機器語言,而是先編譯成中間代碼,再由解釋器對中間代碼進行解釋運行;執行效率較慢。例如:python、JS等

這也就是為什么人們常說C語言底層語言(距離內核近),python是高級語言(距離內核遠)

python運行效率慢是python最大的缺點,當然目前在實際項目中會有很多優化的方案,可以提升python的效率。這個后期咱們再談。

python的運行過程

根據解釋性語言的性質,系統在讀取python代碼時,往往是如下步驟:

編譯
m.py
m.pyc
PVM運行

m.py(源代碼)——> m.pyc(字節碼)——> PVM(虛擬機運行)

當python運行時,會將源代碼翻譯為字節碼,之后將字節碼轉發至虛擬機中即可運行。

而其中的字節碼在內存中的PyCodeObject中,運行結束后,python將PyCodeObject寫入到.pyc文件中(python2中是.pyc,python3 是_pycache__的子目錄中),.pyc文件其實是PyCodeObject的一種持久化保存方式(通常與源代碼在統一目錄下).

.pyc文件會提高代碼的執行速度。
下一次運行源代碼時,系統會識別源代碼和.pyc文件的最后 修改時間是否相同 ,相同即可直接運行字節碼;不相同則廢棄原字節碼, 重新由源代碼編譯為新的字節碼


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論