例如:
if __name__ == '__main__': main()
如果運(yùn)行的是主函數(shù)的話,執(zhí)行下一句main()
如果作為模塊被其他文件導(dǎo)入使用的話,我們就不執(zhí)行后面的main()什么的。
?
看個(gè)例子:
# test.py def main(): print('Hello, world!') main()
這是一個(gè)打印 Hello,world! 的簡單程序
我們嘗試從其他文件調(diào)用它:
# test1.py import test test.main()
運(yùn)行test1.py,出現(xiàn)打印了兩個(gè)Hello,word!
①Hello,world!來自于test.py中的main(),
②Hello,world!來自于test1.py中的test.main(),造成最后輸出兩個(gè)Hello,world!
本來只想調(diào)用test里面的main函數(shù)打印一次Hello,world!,可是這里卻打印了兩次,違背了我們的本意
?
想讓test1.py只輸出一個(gè)Hello,world!的話,我們可以在test.py中去掉最后一行運(yùn)行的main(),但是這會(huì)使test.py運(yùn)行的時(shí)候什么也不打印
這里我們既想讓test.py運(yùn)行輸出結(jié)果,又想調(diào)用的時(shí)候不重復(fù),就需要使用if __name__ == '__main__'
修改之后的test.py:
# test.py def main(): print('Hello, world!') if __name__=='__main__': main()
這樣,就只在運(yùn)行test.py的時(shí)候會(huì)打印這個(gè)Hello,world!
但我們在運(yùn)行test1.py的時(shí)候,if __name__ == '__main__'這個(gè)語句就不成立,那么test.py中的Hello,world!就不會(huì)打印
只會(huì)打印test1中的Hello,world!
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
