2018.9.23 if __name__ == '__main__': 用法
阿新 • • 發佈:2018-12-11
本質:name 是當前模組名,當模組被直接執行時模組名為 main 。這句話的意思就是,當模組被直接執行時,以下程式碼塊將被執行,當模組是被匯入時,程式碼塊不被執行。
if __name__ == '__main__': # 注意 這裡是兩個_
這段程式碼的功能理解如下:
一個python的檔案有兩種使用的方法--->
作用一,直接作為指令碼執行。
作用二,import到其他的python指令碼中被呼叫(模組重用)執行。
舉個例子,下面在test.py中寫入如下程式碼:
print "I'm the first."
if __name__=="__main__":
print "I'm the second."
執行test.py 可以成功print兩行字串:
I'm the first.
I'm the second.
然後在同一資料夾新建名稱為import_test.py的指令碼,只輸入如程式碼:
import test
執行import_test.py指令碼,輸出結果如下:
I'm the first.
只輸出了第一行字串。
即,if __name__=="__main__": 之前的語句被執行,之後的沒有被執行。
if __name__ == '__main__' : 的作用就是控制這兩種情況執行程式碼的過程,在if __name__ == '__main__': 下的程式碼只有在第一種情況下(即檔案作為指令碼直接執行)才會被執行,而import到其他指令碼中是不會被執行的。