六星源課堂:Python如何運(yùn)行程序?Python怎么用?

Python如何運(yùn)行程序?Python怎么用?今天六星源課堂和大家聊聊!
Python如何運(yùn)行?對(duì)于普通用戶和專業(yè)人士來說是兩種不同的解釋。

1. 對(duì)于普通用戶
Python的代碼如何運(yùn)行起來? 網(wǎng)上有非常多的Python安裝入門的教程,你自己可以搜一下。
2. 對(duì)于專業(yè)人士來說,問Python如何運(yùn)行,這有非常豐富的解釋。
在Python面試和專業(yè)問題討論的時(shí)候,經(jīng)常會(huì)被到Python如何運(yùn)行的?這里面涉及到大量的虛擬機(jī)機(jī)制。
Python解釋器是如何工作的?
Python 解釋器稱為“CPython”,它是用 C 編程語(yǔ)言編寫的。這是 Python 的默認(rèn)實(shí)現(xiàn)。
在以下部分中,您將了解 Python 解釋器如何在幕后工作。
源碼分析
實(shí)際上,任何譯者都是從源代碼分析開始的。此處 Python 解釋器接收源代碼并初始化一些指令以執(zhí)行以下操作:
它遵循縮進(jìn)規(guī)則并檢查 Python 語(yǔ)法。也許有一些不正確的行,所以它會(huì)停止執(zhí)行程序以顯示錯(cuò)誤消息。
這個(gè)階段稱為詞法分析,這意味著將源代碼文件分成一個(gè)標(biāo)記列表。
在接下來的步驟中,解釋器將生成字節(jié)碼。讓我們看看它是如何工作的。
字節(jié)碼生成
一旦 Python 解釋器的解析器接收到標(biāo)記,它就開始操作詞法標(biāo)記。它生成一個(gè)稱為 AST(抽象語(yǔ)法樹)的大結(jié)構(gòu)。
解釋器將此 AST 轉(zhuǎn)換為字節(jié)碼,即機(jī)器語(yǔ)言。在 Python 中,字節(jié)碼可以保存在以“.pyc”擴(kuò)展名結(jié)尾的文件中。
在下一節(jié)中,您將看到 python 解釋器如何執(zhí)行這些字節(jié)代碼。
Python 虛擬機(jī) (PVM)
Python 解釋器初始化其稱為 PVM 的運(yùn)行時(shí)引擎,它是 Python 虛擬機(jī)。
解釋器用庫(kù)模塊加載機(jī)器語(yǔ)言并將其輸入到 PVM 中。這會(huì)將字節(jié)代碼轉(zhuǎn)換為可執(zhí)行代碼,例如 0 和 1(二進(jìn)制)。
然后打印結(jié)果。
需要注意的是,如果PVM過程中出現(xiàn)錯(cuò)誤,executor會(huì)立即終止運(yùn)行并顯示錯(cuò)誤。
以上就是本次分享全部?jī)?nèi)容,想學(xué)習(xí)更多編程技巧,歡迎持續(xù)關(guān)注六星源課堂!