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

python屬于解釋型語言么

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

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

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

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

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

解釋型語言和編譯型語言

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

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

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

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

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

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

內(nèi)容擴(kuò)展:

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

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

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

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

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

相關(guān)文章

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

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

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

    Python字符轉(zhuǎn)換

    Python提供了ord和chr兩個內(nèi)置的函數(shù),用于字符與ASCII碼之間的轉(zhuǎn)換。
    2008-09-09
  • python實現(xiàn)與Oracle數(shù)據(jù)庫交互操作示例

    python實現(xiàn)與Oracle數(shù)據(jù)庫交互操作示例

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

    Python利用手勢識別實現(xiàn)貪吃蛇游戲

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

    Python PO設(shè)計模式的具體使用

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

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

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

    淺析PyTorch中nn.Linear的使用

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

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

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

    python正則表達(dá)式中的括號匹配問題

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

    Python 基于win32com客戶端實現(xiàn)Excel操作的詳細(xì)過程

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

最新評論

岚皋县| 阜平县| 藁城市| 丹巴县| 团风县| 融水| 梨树县| 女性| 贡觉县| 宝山区| 上蔡县| 息烽县| 邢台市| 聂荣县| 安康市| 白河县| 东莞市| 微山县| 望江县| 土默特右旗| 泸州市| 鄄城县| 临猗县| 罗田县| 新竹市| 西充县| 宜宾县| 巴林左旗| 旺苍县| 凌海市| 永城市| 梧州市| 中西区| 兴山县| 洛阳市| 中超| 南平市| 泰州市| 广东省| 巴中市| 安新县|