久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時隨地免費學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時隨地免費學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > python解釋型語言

python解釋型語言

來源:千鋒教育
發(fā)布人:xqq
時間: 2023-11-11 11:53:30 1699674810

通常的說法,編譯代表著將一個高級語言轉(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)容為大家介紹了python培訓(xùn)之解釋型語言,希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
免費領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT