if __name__=="__main__": 這個結尾的理解


print "別人應用我做為模塊導入,就只看到我"

if __name__=="__main__":  

  print "自己文件執行就看到我輸出"

這個的意思是,當是自己文件里執行腳本的的話,就執行  print "別人應用我做為模塊導入, 和 " if __name__=="__main__":  下面的代碼

假如是別人來調用我這個文件的話,他只能執行 print "別人應用我做為模塊導入,就只看到我"  

一句話,秒懂
__name__ 是當前模塊名(print __name__   出來是 __main__ ),當模塊被直接運行時模塊名為 __main__ 。

這句話的意思就是,當模塊被直接運行時,以下代碼塊將被運行,當模塊是被導入時,代碼塊不被運行。

 例子:

BB.py import AA 模塊  只執行了foo()函數 沒有執行" if __name__=="__main__":  下面的代碼 print 123

 

 

 

AA.py 自己執行腳本的話,就會去執行" if __name__=="__main__":  下面的代碼 print 123 

 

后記:

每個文件的 __name__ 值是不一樣的,if __name__="其他的name值" 也會執行下面的代碼。

查看文件的__name__值 可以在b文件里面import a文件,就可以看到 b文件的name值是多少了

下面文件 b文件調用a文件,因為__name__=b 所以執行了a文件下的 "這個是a"

a.py文件 自己執行時,是不會 執行下面的 "這個是a",因為自己的name 是__main__

 

參考: https://blog.csdn.net/q2605894893/article/details/82345814


免責聲明!

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



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