Python3:if __name__ == '__main__' 詳解


  • 一般在風格比較好的代碼中會有一行if __name__ == '__main__' :代碼,這里說明一下這句代碼的用處,先上兩個代碼test1.pytest2.py
# test1.py print("test1's name :" ,__name__) if __name__ == '__main__': print('test1 runs as main !') 
# test2.py import test1 print("test2's name :" , __name__) test1 print("test2 runs as main !") 
  • 兩個文件放在同一目錄下,這里我們看出test2.py會調用test1.py,直接運行test1.py,輸出如下:
out[1]:  test1's name : __main__
         test1 runs as main !
  • 運行test2.py,輸出如下:
out[2]: test1's name : test1 test2's name : __main__ test2 runs as main ! 

test1if代碼塊沒有執行

  • 一個python的文件有兩種使用的方法,第一是直接作為腳本執行,第二是import到其他的python腳本中被調用執行。
  • 每一個文件都有一個內置的__name__變量,用來指示當前文件的名字,當這個文件直接被執行時,__name__值為__main__,當被調用執行(即以模塊形式)時,__name__值為模塊名。
  • if __name__ == '__main__' : 的作用就是控制這兩種情況執行代碼的過程,此代碼塊只有在第一種情況下(即文件作為腳本直接執行)才會被執行,而import到其他腳本中是不會被執行的,如上所示


作者:ACphart
鏈接:https://www.jianshu.com/p/de19cdeb9195
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯系作者獲得授權並注明出處。


免責聲明!

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



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