Python是不是編譯型語言-創(chuàng)新互聯(lián)

創(chuàng)新互聯(lián)www.cdcxhl.cn八線動態(tài)BGP香港云服務器提供商,新人活動買多久送多久,劃算不套路!

成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設,梅州企業(yè)網(wǎng)站建設,梅州品牌網(wǎng)站建設,網(wǎng)站定制,梅州網(wǎng)站建設報價,網(wǎng)絡營銷,網(wǎng)絡優(yōu)化,梅州網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。

這篇文章給大家分享的是有關Python是不是編譯型語言的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。

Python 是編譯型語言還是解釋型語言?回答這個問題前,應該先弄清楚什么是編譯型語言,什么是解釋型語言。

所謂編譯執(zhí)行就是源代碼經(jīng)過編譯器編譯處理,生成目標機器碼,就是機器能直接運行的二進制代碼,下次運行時無需重新編譯。

不過它是針對特定CPU體系的,這些目標代碼只能在特定平臺執(zhí)行,如果這個程序需要在另外一種 CPU 上面運行,這個代碼就必須重新編譯。

它不具備可移植性,但是執(zhí)行速度快,C、C++這類語言屬于編譯型語言。

而解釋型語言是在代碼運行期間逐行翻譯成目標機器碼,下次執(zhí)行時,還是需要逐行解釋,我們可以簡單認為 Java、Python 都是解釋型語言。

編譯型相當于廚師直接做好一桌子菜,顧客來了直接開吃,而解釋型就像吃火鍋,廚師把菜洗好,顧客需要自己動手邊煮邊吃。

效率上來說解釋型語言自然比不過編譯型語言,當然也不是絕對了,像 JIT 的效率就很高。

以上是對編譯型語言和解釋型語言的一個簡單粗暴的區(qū)分,但是 Python(這里主要是指CPython)并不是嚴格的解釋型語言;

因為 Python 代碼在運行前,會先編譯(翻譯)成中間代碼,每個 .py 文件將被換轉成 .pyc 文件,.pyc 就是一種字節(jié)碼文件,它是與平臺無關的中間代碼,不管你放在 Windows 還是 Linux 平臺都可以執(zhí)行,運行時將由虛擬機逐行把字節(jié)碼翻譯成目標代碼。

我們安裝Python 時候,會有一個 Python.exe 文件,它就是 Python 解釋器,你寫的每一行 Python 代碼都是由它負責執(zhí)行,解釋器由一個編譯器和一個虛擬機構成,編譯器負責將源代碼轉換成字節(jié)碼文件,而虛擬機負責執(zhí)行字節(jié)碼,所以,解釋型語言其實也有編譯過程,只不過這個編譯過程并不是直接生成目標代碼,而是中間代碼(字節(jié)碼),然后再通過虛擬機來逐行解釋執(zhí)行字節(jié)碼。

總結

Python代碼首先會編程一個字節(jié)碼文件,再由虛擬機逐行解釋,把每一行字節(jié)碼代碼翻譯成目標指令給CPU執(zhí)行。

感謝各位的閱讀!關于Python是不是編譯型語言就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

當前文章:Python是不是編譯型語言-創(chuàng)新互聯(lián)
文章路徑:http://muchs.cn/article38/dchosp.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、關鍵詞優(yōu)化、網(wǎng)站排名、網(wǎng)站收錄、全網(wǎng)營銷推廣、微信公眾號

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設