亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Python解釋執行原理分析

系統 1765 0

本文較為詳細的分析了Python解釋執行的原理,對于深入理解Python可以起到一定的幫助作用。具體分析如下:

首先,這里的解釋執行是相對于編譯執行而言的。我們都知道,使用C/C++之類的編譯性語言編寫的程序,是需要從源文件轉換成計算機使用的機器語言,經過鏈接器鏈接之后形成了二進制的可執行文件。運行該程序的時候,就可以把二進制程序從硬盤載入到內存中并運行。

但是對于Python而言,python源碼不需要編譯成二進制代碼,它可以直接從源代碼運行程序。當我們運行python文件程序的時候,python解釋器將源代碼轉換為字節碼,然后再由python解釋器來執行這些字節碼。這樣,python就不用擔心程序的編譯,庫的鏈接加載等問題了。

對于python解釋語言,有以下3方面的特性:

1.每次運行都要進行轉換成字節碼,然后再有虛擬機把字節碼轉換成機器語言,最后才能在硬件上運行。與編譯性語言相比,每次多出了編譯和鏈接的過程,性能肯定會受到影響。

2.由于不用關心程序的編譯和庫的鏈接等問題,開發的工作也就更加輕松啦。

3.python代碼與機器底層更遠了,python程序更加易于移植,基本上無需改動就能在多平臺上運行。

在具體計算機上實現一種語言,首先要確定的是表示該語言語義解釋的虛擬計算機,一個關鍵的問題是程序執行時的基本表示是實際計算機上的機器語言還是虛擬機的機器語言。這個問題決定了語言的實現。根據這個問題的回答, 可以將程序設計語言劃分為兩大類:編譯型語言和解釋型語言。

1.編譯實現的語言 ,如:C、C++、Fortran、Pascal、Ada。由編譯型語言編寫的源程序需要經過編譯,匯編和鏈接才能輸出目標代碼,然后由機器執行目標代碼。目標代碼是有機器指令組成,不能獨立運行,因為源程序中可能使用了一些匯編程序不能解釋引用的庫函數,而庫函數又不在源程序中,此時還需要鏈接程序完成外部引用和目標模板調用的鏈接任務,最后才能輸出可執行代碼。

2.解釋型語言 ,解釋器不產生目標機器代碼,而是產生中間代碼,這種中間代碼與機器代碼不同,中間代碼的解釋是由軟件支持的,不能直接使用在硬件上。該軟件解釋器通常會導致執行效率較低,用解釋型語言編寫的程序是由另一個可以理解中間代碼的解釋程序執行的。和編譯的程序不同的是, 解釋程序的任務是逐一將源代碼的語句解釋成可執行的機器指令,不需要將源程序翻譯成目標代碼再執行。對于解釋型語言,需要一個專門的解釋器來執行該程序,每條語句只有在執行是才能被翻譯,這種解釋型語言每執行一次就翻譯一次,因而效率低下。

3.Java解釋器 ,java很特殊,java是需要編譯的,但是沒有直接編譯成機器語言,而是編譯成字節碼,然后在Java虛擬機上用解釋的方式執行字節碼。Python也使用了類似的方式,先將python編譯成python字節碼,然后由一個專門的python字節碼解釋器負責解釋執行字節碼。

4.python是一門解釋語言,但是出于效率的考慮,提供了一種編譯的方法。編譯之后就得到pyc文件,存儲了字節碼。python這點和java很類似,但是java與python不同的是,python是一個解釋型的語言,所以編譯字節碼不是一個強制的操作,事實上,編譯是一個自動的過程,一般不會在意它的存在。編譯成字節碼可以節省加載模塊的時間,提高效率。

5.除了效率之外,字節碼的形式也增加了反向工程的難度,可以保護源代碼。這個只是一定程度上的保護,反編譯還是可以的。

相信本文所述對于大家深入理解Python可以起到一定的促進作用。


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

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产伦精品一区三区视频 | 久久久久久久尹人综合网亚洲 | 中文字幕亚洲第一 | 久久精品亚洲牛牛影视 | 免费网站看v片在线成人国产系列 | 日韩欧美亚洲国产高清在线 | 久一视频在线观看 | jizzjizzjizz护士 | 国内精品久久久久丫网址 | 日韩黄色网页 | 日韩专区亚洲国产精品 | 特黄aaaaaaaaa及毛片 | 国产视频久久久 | 欧美三级中文字幕 | 九九九热视频 | 亚洲一区二区观看 | 欧美一级全部免费视频 | 婷婷综合久久 | 香蕉视频免费在线播放 | 亚洲一区二区三区免费视频 | 日韩欧美视频一区二区在线观看 | 日本精品视频一区二区三区 | 久久这里有精品视频任我鲁 | 毛片免费毛片一级jjj毛片 | 国产永久视频 | 亚洲一区二区三区高清不卡 | 成人久久18免费网 | 中国一级一级全黄 | 国产精品一区二区欧美视频 | 国产看色免费 | 四虎影视免费观看免费观看 | 久草97| 婷婷综合色伊人阁 | 久久青青草原精品国产麻豆 | 久久99蜜桃精品久久久久小说 | 一级黄色录像视频 | 香蕉视频在线看 | 久久在线中文字幕 | 精品热久国产福利视频 | 日韩影片在线观看 | 欧美大屁股精品毛片视频 |