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