python怎么运行_程序员大牛讲解,Python程序的执行原理
人工智能的火熱讓Python成為近兩年來發(fā)展最好的開發(fā)語言,Python已經(jīng)被越來越多的人所熟知,Python開發(fā)工程師水漲船高的薪資也吸引著更多的人進(jìn)入這個(gè)行業(yè)。一名合格的Python工程師怎么能不知道Python運(yùn)行的執(zhí)行原理是什么呢?下面,千鋒武漢Python培訓(xùn)的小編就給大家講解一下。
我們都知道,使用C、C++之類的編譯性語言編寫的程序,是需要從源文件轉(zhuǎn)換成計(jì)算機(jī)使用的機(jī)器語言,經(jīng)過鏈接器鏈接之后形成了二進(jìn)制可執(zhí)行文件。運(yùn)行該程序的時(shí)候,就可以二進(jìn)制程序從硬盤載入到內(nèi)存中并運(yùn)行。
但是對(duì)于Python而言,Python源碼不需要編譯成二進(jìn)制代碼,它可以直接從源代碼運(yùn)行程序序。Python解釋器將源代碼轉(zhuǎn)換為字節(jié)碼,然后把編譯好的字節(jié)碼轉(zhuǎn)發(fā)到Python虛擬機(jī)(PVM)中進(jìn)行執(zhí)行。接下來,通過一張圖來描述 Python程序的執(zhí)行過程,當(dāng)我們運(yùn)行Python程序的時(shí)候,Python解釋器會(huì)執(zhí)行兩個(gè)步驟:
1、把源代碼編譯成字節(jié)碼
編譯后的字節(jié)碼是特定于Python的一種表現(xiàn)形式,它不是二進(jìn)制的機(jī)器碼,需要進(jìn)一步編譯才能被機(jī)器執(zhí)行,這也是Python代碼無法運(yùn)行的像C、C++一樣快的原因。如果Python進(jìn)程在機(jī)器上擁有寫入權(quán)限,那么它將把程序的字節(jié)碼保存為一個(gè)以.pyc為擴(kuò)展名的文件,如果Python無法在機(jī)器上寫入字節(jié)碼,那么宇節(jié)碼將會(huì)在內(nèi)存中生成并在程序結(jié)束時(shí)自動(dòng)丟棄。在構(gòu)建程序的時(shí)候最好給Python賦上在計(jì)算機(jī)上寫的權(quán)限,這樣只要源代碼沒有改變,生成的.pyc文件可以重復(fù)利用,提高執(zhí)行效率。
2、把編譯好的字節(jié)碼轉(zhuǎn)發(fā)到Python虛擬機(jī)(PVM)中進(jìn)行執(zhí)行
PVM是Python Virtual Machine的簡稱,它是Python的運(yùn)行引擎,是Python系統(tǒng)的一部分,它是迭代運(yùn)行字節(jié)碼指令的一個(gè)大循環(huán),一個(gè)接一個(gè)地完成操作。
以上就是本文千鋒武漢Python培訓(xùn)小編關(guān)于Python執(zhí)行原理的全部內(nèi)容,希望對(duì)大家有所幫助。如有不足之處,歡迎留言指出。感謝朋友們對(duì)小編的支持!
隨著人工智能、大數(shù)據(jù)行業(yè)的發(fā)展,未來Python的市場前景必然很好,對(duì)于零基礎(chǔ)想學(xué)習(xí)Python的學(xué)員可以來千鋒武漢Python培訓(xùn)。千鋒武漢Python培訓(xùn)課程內(nèi)容涉及Web、爬蟲、Python全棧、人工智能和數(shù)據(jù)挖掘等最新潮流的技術(shù),畢業(yè)學(xué)員可滿足企業(yè)各種需求,由淺入深引領(lǐng)學(xué)員進(jìn)入最前沿科技領(lǐng)域。
千鋒真正“用良心做教育”,真正手把手、面對(duì)面地教大家Python實(shí)用技能。在這里,Python學(xué)習(xí)內(nèi)容都是新的,大家完全不用擔(dān)心學(xué)到落后的技術(shù)。
總結(jié)
以上是生活随笔為你收集整理的python怎么运行_程序员大牛讲解,Python程序的执行原理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 等保2.0标准_信息安全技术标准与等保2
- 下一篇: 文件表单带数据一起提交spring_基于