python中if __name__ == '__main__' :main(()

例如:

if name == 'main':
main()
如果運行的是主函數(shù)的話,執(zhí)行下一句main()

如果作為模塊被其他文件導入使用的話,我們就不執(zhí)行后面的main()什么的。

看個例子:

# test.py
def main():
    print('Hello, world!')
main()

這是一個打印 Hello,world! 的簡單程序

我們嘗試從其他文件調用它:

# test1.py
import test
 
test.main()

運行test1.py,出現(xiàn)打印了兩個Hello,word!

①Hello,world!來自于test.py中的main(),

②Hello,world!來自于test1.py中的test.main(),造成最后輸出兩個Hello,world!

本來只想調用test里面的main函數(shù)打印一次Hello,world!,可是這里卻打印了兩次,違背了我們的本意

想讓test1.py只輸出一個Hello,world!的話,我們可以在test.py中去掉最后一行運行的main(),但是這會使test.py運行的時候什么也不打印

這里我們既想讓test.py運行輸出結果,又想調用的時候不重復,就需要使用if name == 'main'

修改之后的test.py:

# test.py
def main():
    print('Hello, world!')
 
if __name__=='__main__':
    main()

這樣,就只在運行test.py的時候會打印這個Hello,world!

但我們在運行test1.py的時候,if name == 'main'這個語句就不成立,那么test.py中的Hello,world!就不會打印

只會打印test1中的Hello,world!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容