Python編程中的if__name__=='main'的作用和原理是什么

這篇文章主要介紹“Python編程中的if __name__ == 'main' 的作用和原理是什么”,在日常操作中,相信很多人在Python編程中的if __name__ == 'main' 的作用和原理是什么問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”P(pán)ython編程中的if __name__ == 'main' 的作用和原理是什么”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

創(chuàng)新互聯(lián)公司響應(yīng)式網(wǎng)站特點(diǎn)就是不管在電腦、平板還是手機(jī)上,H5頁(yè)面制作都會(huì)根據(jù)屏幕尺寸自動(dòng)調(diào)節(jié)大小、圖片分辨率,并且融入一定的動(dòng)畫(huà)特效,讓網(wǎng)站看起來(lái)非常的美觀(guān)大方。從網(wǎng)站需求對(duì)接到網(wǎng)站制作設(shè)計(jì)、從代碼編寫(xiě)到項(xiàng)目上線(xiàn)運(yùn)維,技術(shù)人員全程跟蹤,快速響應(yīng)

__name__ 是當(dāng)前模塊名,當(dāng)模塊被直接運(yùn)行時(shí)模塊名為 __main__  。這句話(huà)的意思就是,當(dāng)模塊被直接運(yùn)行時(shí),以下代碼塊將被運(yùn)行,當(dāng)模塊是被導(dǎo)入時(shí),代碼塊不被運(yùn)行。

相信初學(xué)者在學(xué)習(xí)Python的過(guò)程中,不可避免的總會(huì)遇到if __name__ ==  'main'語(yǔ)句,雖然一直知道它的作用,但是可能一直比較模糊,今天菜鳥(niǎo)分析就與大家一起舉例說(shuō)說(shuō)我的理解。

舉個(gè)例子,我們?cè)谙旅嬖趖est.py中寫(xiě)入如下代碼:

print('戀習(xí)Python')  def main():     print('戀習(xí)Python') if __name__ == '__main__':     main()     print('跟著菜鳥(niǎo)分析,練習(xí)Python越練越戀')

運(yùn)行代碼,則輸出結(jié)果為:

Python編程中的if __name__ == 'main' 的作用和原理是什么

然后,在同一文件夾新建名稱(chēng)為import_test.py的腳本,只輸入代碼:

import test

運(yùn)行代碼,則輸出結(jié)果為:

Python編程中的if __name__ == 'main' 的作用和原理是什么

與之前test.py代碼運(yùn)行結(jié)果比較,只有輸出戀習(xí)Python,也就是if __name__=="__main__":  之前的語(yǔ)句被執(zhí)行,之后的沒(méi)有被執(zhí)行。

這是為什么呢?別急,菜鳥(niǎo)分析繼續(xù)給你舉例子說(shuō)明,絕對(duì)讓你滿(mǎn)意為止,最后有一種豁然開(kāi)朗的感覺(jué)。

現(xiàn)在,我們?cè)趖est.py腳本的if __name__=="__main__":之前加入print  __name__,即將__name__打印出來(lái),則最后運(yùn)行結(jié)果如下:

Python編程中的if __name__ == 'main' 的作用和原理是什么

可以看出,此時(shí)變量__name__的值為"__main__"。

再執(zhí)行import_test.py,模塊內(nèi)容和執(zhí)行結(jié)果如下:

Python編程中的if __name__ == 'main' 的作用和原理是什么

此時(shí),import_test.py中的__name__變量值為test,不滿(mǎn)足__name__=="__main__"的條件,因此,無(wú)法執(zhí)行其后的代碼。

哈哈,是不是一下明白啦,覺(jué)得不錯(cuò),給菜鳥(niǎo)分析點(diǎn)個(gè)贊哦!

再仔細(xì)想想,其運(yùn)行原理也就是:

由于每個(gè)Python模塊(Python文件)都包含內(nèi)置的變量__name__,當(dāng)運(yùn)行模塊被執(zhí)行的時(shí)候,__name__等于文件名(包含了后綴.py)。如果import到其他模塊中,則__name__等于模塊名稱(chēng)(不包含后綴.py)。而“__main__”等于當(dāng)前執(zhí)行文件的名稱(chēng)(包含了后綴.py)。所以當(dāng)模塊被直接執(zhí)行時(shí),__name__  == '__main__'結(jié)果為真;而當(dāng)模塊被import到其他模塊中時(shí),__name__ == '__main__'結(jié)果為假,就是不調(diào)用對(duì)應(yīng)的方法。

簡(jiǎn)而言之就是:__name__ 是當(dāng)前模塊名,當(dāng)模塊被直接運(yùn)行時(shí)模塊名為 __main__  。當(dāng)模塊被直接運(yùn)行時(shí),代碼將被運(yùn)行,當(dāng)模塊是被導(dǎo)入時(shí),代碼不被運(yùn)行。

到此,關(guān)于“Python編程中的if __name__ == 'main' 的作用和原理是什么”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

網(wǎng)站題目:Python編程中的if__name__=='main'的作用和原理是什么
網(wǎng)站URL:http://muchs.cn/article4/pgdhoe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)面包屑導(dǎo)航、動(dòng)態(tài)網(wǎng)站、云服務(wù)器、營(yíng)銷(xiāo)型網(wǎng)站建設(shè)ChatGPT

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都app開(kāi)發(fā)公司