[Python]理解 if __name__ == ‘__main__‘
文章目錄
本篇文章,參考并改編了
https://www.jianshu.com/p/989953d468d9
在很多utility程序中,我們會(huì)經(jīng)常看到這樣一句: if __neme__ == "__main__" :
我們都只到python編寫的文件可以直接運(yùn)行,也可以當(dāng)做模塊來(lái)引用,不管哪一種方式,最頂層(以縮進(jìn)方式來(lái)劃分),都會(huì)被執(zhí)行。
作用:
實(shí)際項(xiàng)目中,可能我們希望在引用這個(gè)module模塊的時(shí)候,并不希望在導(dǎo)入的時(shí)候去執(zhí)行頂層的code。
舉例:
下面是一個(gè)test.py
我直接運(yùn)行上面這個(gè)程序,print("in")將會(huì)執(zhí)行。
如果我采用導(dǎo)入的方式,則不會(huì)執(zhí)行
最后
如果學(xué)過 C 或者 C++,知道程序入口是一個(gè) main 函數(shù)。if name == ‘main’:的作用跟這個(gè) main 函數(shù)相似,可以看作 Python 模擬的程序入口。而事實(shí)上,Python 是從源碼文件的第一行開始,逐行解釋然后運(yùn)行,沒有統(tǒng)一的程序入口。所以if name == ‘main’: 只能說是模擬的程序入口。
特別要注意__name__的引號(hào)是沒有的,因?yàn)樗且粋€(gè)內(nèi)置變量
不是
if "__name__ "== '__main__':作者:胖三斤66
鏈接:https://www.jianshu.com/p/989953d468d9
來(lái)源:簡(jiǎn)書
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。
總結(jié)
以上是生活随笔為你收集整理的[Python]理解 if __name__ == ‘__main__‘的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python 2022/1/2
- 下一篇: [Python] sys.argv[]