- 一般在風格比較好的代碼中會有一行
if __name__ == '__main__' :
代碼,這里說明一下這句代碼的用處,先上兩個代碼test1.py
和test2.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 !
test1
的if
代碼塊沒有執行
- 一個python的文件有兩種使用的方法,第一是直接作為腳本執行,第二是import到其他的python腳本中被調用執行。
- 每一個文件都有一個內置的
__name__
變量,用來指示當前文件的名字,當這個文件直接被執行時,__name__
值為__main__
,當被調用執行(即以模塊形式)時,__name__
值為模塊名。 if __name__ == '__main__' :
的作用就是控制這兩種情況執行代碼的過程,此代碼塊只有在第一種情況下(即文件作為腳本直接執行)才會被執行,而import到其他腳本中是不會被執行的,如上所示
作者:ACphart
鏈接:https://www.jianshu.com/p/de19cdeb9195
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯系作者獲得授權並注明出處。