最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python屬于解釋型語言么

 更新時間:2020年06月15日 14:32:44   作者:silencement  
在本篇文章里小編給大家整理了關于python是否屬于解釋型語言的相關知識點內容,需要的朋友們可以學習下。

通常的說法,編譯代表著將一個高級語言轉化為 CPU 能執(zhí)行的機器碼。當你編譯 C 的時候,的確是做的這樣的操作。編譯的結果是一個二進制可執(zhí)行文件,這時你的系統(tǒng)可直接運行這個程序。

與此相對的,解釋的意思是這樣的:程序運行時每次讀源文件中的一行代碼,并執(zhí)行相應的操作,就這樣一行一行的重復下去。當然,所謂的腳本語言就是這么運行的。

在 Python 中,源代碼會被編譯為更低級的一種形式,我們稱之為字節(jié)碼。字節(jié)碼是一串指令,和 CPU 的指令集類似。但是字節(jié)碼并不直接被 CPU 執(zhí)行,而是在虛擬機中執(zhí)行的。當然,這里的虛擬機并不模仿整個操作系統(tǒng)的環(huán)境,只是提供了字節(jié)碼執(zhí)行的一個環(huán)境。

Python 還有一個重要的特性,就是交互式命令行。你可以敲入一行 Python 語句,然后立刻回車執(zhí)行。實際上,即使是這個過程,Python 同樣是先轉為字節(jié)碼,然后執(zhí)行。而這個交互式命令行這個特性,在很多編譯型語言里是沒有的。同樣因為沒有顯示的調用編譯程序,很多人將執(zhí)行 Python源文件的程序叫做 Python 解釋器。

解釋型語言和編譯型語言

計算機是不能夠識別高級語言的,所以當我們運行一個高級語言程序的時候,就需要一個“翻譯機”來從事把高級語言轉變成計算機能讀懂的機器語言的過程。這個過程分成兩類,第一種是編譯,第二種是解釋。

編譯型語言在程序執(zhí)行之前,先會通過編譯器對程序執(zhí)行一個編譯的過程,把程序轉變成機器語言。運行時就不需要翻譯,而直接執(zhí)行就可以了。最典型的例子就是C語言。

解釋型語言就沒有這個編譯的過程,而是在程序運行的時候,通過解釋器對程序逐行作出解釋,然后直接運行,最典型的例子是Ruby。

通過以上的例子,我們可以來總結一下解釋型語言和編譯型語言的優(yōu)缺點,因為編譯型語言在程序運行之前就已經對程序做出了“翻譯”,所以在運行時就少掉了“翻譯”的過程,所以效率比較高。但是我們也不能一概而論,一些解釋型語言也可以通過解釋器的優(yōu)化來在對程序做出翻譯時對整個程序做出優(yōu)化,從而在效率上接近編譯型語言,而不能超過編譯型語言。

此外,隨著Java等基于虛擬機的語言的興起,我們又不能把語言純粹地分成解釋型和編譯型這兩種。

用Java來舉例,Java首先是通過編譯器編譯成字節(jié)碼文件,然后在運行時通過解釋器給解釋成機器文件。所以我們說Java是一種先編譯后解釋的語言。

內容擴展:

一個經常聽見的問題,那就是:Python 是解釋型的語言嗎?它會被編譯嗎?這個問題沒有想象中那么好回答。和很多人認識世界一樣,習慣以一個簡單的模型去評判一些事物。而事實上,里面包含了很多很多的細節(jié)。

通常的說法,編譯代表著將一個高級語言轉化為 CPU 能執(zhí)行的機器碼。當你編譯 C 的時候,的確是做的這樣的操作。編譯的結果是一個二進制可執(zhí)行文件,這時你的系統(tǒng)可直接運行這個程序。

與此相對的,解釋的意思是這樣的:程序運行時每次讀源文件中的一行代碼,并執(zhí)行相應的操作,就這樣一行一行的重復下去。當然,所謂的腳本語言就是這么運行的。

但事實上,上面的定義有太多的局限。一門真正的語言,為了擁有更多有用和強大的特性,通常采用了各種各樣的實現方式。我們可以將編譯理解為更通用一些:將一種語言轉化為另一種語言形式。通常來說,源語言比目標語言要更高級一些,比如將 C 轉化為機器碼。當然,JavaScript 8 到 JavaScript 5 的轉化也算是一種編譯。

到此這篇關于python屬于解釋型語言么的文章就介紹到這了,更多相關python是解釋型語言嗎內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Python使用urllib2模塊實現斷點續(xù)傳下載的方法

    Python使用urllib2模塊實現斷點續(xù)傳下載的方法

    這篇文章主要介紹了Python使用urllib2模塊實現斷點續(xù)傳下載的方法,實例分析了urllib2模塊的使用及斷點續(xù)傳下載的實現技巧,需要的朋友可以參考下
    2015-06-06
  • Python字符轉換

    Python字符轉換

    Python提供了ord和chr兩個內置的函數,用于字符與ASCII碼之間的轉換。
    2008-09-09
  • python實現與Oracle數據庫交互操作示例

    python實現與Oracle數據庫交互操作示例

    這篇文章主要為大家介紹了python實現與Oracle數據庫交互操作示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家,多多進步,早日升職加薪
    2021-10-10
  • Python利用手勢識別實現貪吃蛇游戲

    Python利用手勢識別實現貪吃蛇游戲

    想必大家都玩過貪吃蛇的游戲吧:通過操縱蛇的移動方向能夠讓蛇吃到隨機出現的食物,吃到的食物越多,蛇就會變得越長。本文將使用手勢識別來完成貪吃蛇這個簡單的游戲,感興趣的可以了解一下
    2022-04-04
  • Python PO設計模式的具體使用

    Python PO設計模式的具體使用

    這篇文章主要介紹了Python PO設計模式的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-08-08
  • Python實例一個類背后發(fā)生了什么

    Python實例一個類背后發(fā)生了什么

    Python實例一個類背后發(fā)生了什么,本文為大家一一列出,感興趣的朋友可以參考一下
    2016-02-02
  • 淺析PyTorch中nn.Linear的使用

    淺析PyTorch中nn.Linear的使用

    這篇文章主要介紹了淺析PyTorch中nn.Linear的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-08-08
  • python 堆和優(yōu)先隊列的使用詳解

    python 堆和優(yōu)先隊列的使用詳解

    這篇文章主要介紹了python 堆和優(yōu)先隊列的使用詳解,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-03-03
  • python正則表達式中的括號匹配問題

    python正則表達式中的括號匹配問題

    這篇文章主要介紹了python正則表達式中的括號匹配問題,需要的朋友可以參考下
    2014-12-12
  • Python 基于win32com客戶端實現Excel操作的詳細過程

    Python 基于win32com客戶端實現Excel操作的詳細過程

    這篇文章主要介紹了Python 基于win32com客戶端實現Excel操作的詳細過程,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-05-05

最新評論

广南县| 密山市| 博爱县| 永寿县| 武威市| 龙陵县| 屏边| 瑞丽市| 当涂县| 双流县| 东乌| 清远市| 启东市| 新乡市| 新余市| 湛江市| 凤山市| 衡山县| 和静县| 新宁县| 赤壁市| 南岸区| 台南市| 杭锦后旗| 禹城市| 廉江市| 米脂县| 通榆县| 新和县| 利辛县| 祁连县| 潼南县| 外汇| 广饶县| 金平| 平舆县| 南木林县| 自治县| 东乌珠穆沁旗| 房山区| 库伦旗|