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


例如:

if __name__ == '__main__':
    main()

如果運行的是主函數的話,執行下一句main()

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

 

看個例子:

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

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

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

# test1.py
import test

test.main()

運行test1.py,出現打印了兩個Hello,word!

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

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

本來只想調用test里面的main函數打印一次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!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM