這里的解釋執(zhí)行是相對(duì)于編譯執(zhí)行而言的。我們都知道,使用C/C++之類的編譯性語(yǔ)言編寫的程序,是需要從源文件轉(zhuǎn)換成計(jì)算機(jī)使用的機(jī)器語(yǔ)言,經(jīng)過鏈接器鏈接之后形成了二進(jìn)制的可執(zhí)行文件。運(yùn)行該程序的時(shí)候,就可以把二進(jìn)制程序從硬盤載入到內(nèi)存中并運(yùn)行。
但是對(duì)于Python而言,python源碼不需要編譯成二進(jìn)制代碼,它可以直接從源代碼運(yùn)行程序。當(dāng)我們運(yùn)行python文件程序的時(shí)候,python解釋器將源代碼轉(zhuǎn)換為字節(jié)碼,然后再由python解釋器來執(zhí)行這些字節(jié)碼。這樣,python就不用擔(dān)心程序的編譯,庫(kù)的鏈接加載等問題了。
對(duì)于python解釋語(yǔ)言,有以下3方面的特性:
每次運(yùn)行都要進(jìn)行轉(zhuǎn)換成字節(jié)碼,然后再有虛擬機(jī)把字節(jié)碼轉(zhuǎn)換成機(jī)器語(yǔ)言,最后才能在硬件上運(yùn)行。與編譯性語(yǔ)言相比,每次多出了編譯和鏈接的過程,性能肯定會(huì)受到影響。
由于不用關(guān)心程序的編譯和庫(kù)的鏈接等問題,開發(fā)的工作也就更加輕松啦。
python代碼與機(jī)器底層更遠(yuǎn)了,python程序更加易于移植,基本上無需改動(dòng)就能在多平臺(tái)上運(yùn)行。
以上內(nèi)容為大家介紹了Python培訓(xùn)之python是如何編譯運(yùn)行的,希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。