python入門-python解譯器執行,python-python

來源:互聯網
上載者:User

python入門-python解譯器執行,python-python

  最近由於公司需要,接觸了python這門神奇的語言,給我的感覺就是開發快速和代碼簡潔。

  開始還是先羅列一下解釋性語言和編譯性語言的差別吧0.0!

 

  編譯性語言:是在程式運行前,需要專門的一個編譯過程,如產生exe,hex檔案等特定的機器語言檔案。(必須在特定系統上)。  所以以後就可以直接運行,不用在進行編譯了。但該檔案不能誇作業系統系統平台,因為該檔案在不同作業系統中是不識別的。

  解釋性語言:不需要解釋,是在程式執行的時候,運行一行翻譯一行。所以每次執行都要進行解釋。

 

  兩者的本質區別

 1啟動並執行時間不同:

  編譯性語言是在程式運行前進行編譯

  解釋性語言在程式運行時進行解釋

 2可移植性:

  編譯性語言只能在特定機器上運行,不可移植

  解釋性語言可實現跨平台操作

 

  我們知道一些編譯性語言比如C、C++,他們需要先從源檔案編譯轉換成電腦的語言,經過連接器形成可執行檔二進位檔案,執行時將這些二進位檔案載入到記憶體中運行。

  一般解釋性語言運行方式則和編譯型語言有很大的差別。解釋性語言直接從原始碼運行程式,而且是一句一句的執行,那麼他們是怎麼讓機器認識的呢?這裡就要用到每門解譯器語言對應的解譯器啦。比如python解譯器直接將原始碼轉換成位元組碼,然後再由解譯器來執行這些位元組碼,轉換成機器語言,最後就可以在機器上運行了。這些機制導致python有以下特性。

  由於每次執行時都要轉化為位元組碼,然後在由虛擬機器轉化為機器語言,所以程式效能肯定會收到影響;由於程式員不要關心程式的編譯和庫的連結問題開發工作也更輕鬆;由於有python解譯器和機器底層進行互動,從而讓python代碼和機器底層更加遠了,所以python實現了跨平台。

  python針對效能問題提供了一種編譯方法,編譯之後可以得到pyc檔案,儲存了位元組碼,然後有一個專門的python解譯器負責解釋和執行位元組碼,這就省去瞭解釋器將原始碼轉化成位元組碼的過程,也節省了載入模組的時間從而提高了執行效率,另外編譯成pyc檔案一定程度上也提高了代碼的安全性。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.