python解釋型語言
通常的說法,編譯代表著將一個高級語言轉化為CPU能執行的機器碼。當你編譯C的時候,的確是做的這樣的操作。編譯的結果是一個二進制可執行文件,這時你的系統可直接運行這個程序。
與此相對的,解釋的意思是這樣的:程序運行時每次讀源文件中的一行代碼,并執行相應的操作,就這樣一行一行的重復下去。當然,所謂的腳本語言就是這么運行的。
在Python中,源代碼會被編譯為更低級的一種形式,我們稱之為字節碼。字節碼是一串指令,和CPU的指令集類似。但是字節碼并不直接被CPU執行,而是在虛擬機中執行的。當然,這里的虛擬機并不模仿整個操作系統的環境,只是提供了字節碼執行的一個環境。
Python還有一個重要的特性,就是交互式命令行。你可以敲入一行Python語句,然后立刻回車執行。實際上,即使是這個過程,Python同樣是先轉為字節碼,然后執行。而這個交互式命令行這個特性,在很多編譯型語言里是沒有的。同樣因為沒有顯示的調用編譯程序,很多人將執行Python源文件的程序叫做Python解釋器。
解釋型語言和編譯型語言
計算機是不能夠識別高級語言的,所以當我們運行一個高級語言程序的時候,就需要一個“翻譯機”來從事把高級語言轉變成計算機能讀懂的機器語言的過程。這個過程分成兩類,第一種是編譯,第二種是解釋。
編譯型語言在程序執行之前,先會通過編譯器對程序執行一個編譯的過程,把程序轉變成機器語言。運行時就不需要翻譯,而直接執行就可以了。最典型的例子就是C語言。
解釋型語言就沒有這個編譯的過程,而是在程序運行的時候,通過解釋器對程序逐行作出解釋,然后直接運行,最典型的例子是Ruby。
通過以上的例子,我們可以來總結一下解釋型語言和編譯型語言的優缺點,因為編譯型語言在程序運行之前就已經對程序做出了“翻譯”,所以在運行時就少掉了“翻譯”的過程,所以效率比較高。但是我們也不能一概而論,一些解釋型語言也可以通過解釋器的優化來在對程序做出翻譯時對整個程序做出優化,從而在效率上接近編譯型語言,而不能超過編譯型語言。
此外,隨著Java等基于虛擬機的語言的興起,我們又不能把語言純粹地分成解釋型和編譯型這兩種。
用Java來舉例,Java首先是通過編譯器編譯成字節碼文件,然后在運行時通過解釋器給解釋成機器文件。所以我們說Java是一種先編譯后解釋的語言。
以上內容為大家介紹了python培訓之解釋型語言,希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。

猜你喜歡LIKE
相關推薦HOT
更多>>
為什么Python爬蟲使用MongoDB?
想必大家都知道,在從事網絡爬蟲工作之前,我們需要掌握很多知識,除了基本的爬蟲原理之外,我們還需要學習框架、數據庫等,其中就包含MongoDB...詳情>>
2023-11-07 23:02:10
python如何進行類型轉換的
python提供了將變量或值從一種類型轉換成另一種類型的內置函數。1、int:將符合數學格式數字型字符串轉換成整數。>>>int('123')1232、s...詳情>>
2023-11-07 18:51:20
python怎么生成隨機數
以下實例演示了python如何生成一個隨機數:#生成0~9之間的隨機數#導入random(隨機數)模塊importrandomprint(random.randint(0,9))執行以上代碼...詳情>>
2023-11-07 17:09:17
python如何刪除空格
python中的字符串方法提供了如下常用的方法來刪除空白:strip():刪除字符串前后的空白。lstrip():刪除字符串前面(左邊)的空白。rstrip():刪...詳情>>
2023-11-07 14:57:44熱門推薦
技術干貨






