if _name_=='_main_':
- 一個python的文件:可以直接作爲腳本執行;也可以作爲模塊import到其他python腳本中被調用執行。
- 每個python文件都包含內置的變量
_name_
。當文件自身作爲腳本被執行時,__name__
等於文件名(包含了後綴.py);當作爲模塊import到其他python腳本中執行時,__name__
等於模塊名稱(不包含後綴.py)。 - 而
_main_
等於當前執行文件的名稱(包含了後綴.py)。所以當文件自身作爲腳本被直接執行時,_name_=='_main_'
結果爲真;當作爲模塊import到其他python腳本中執行時,_name_=='_main_'
結果爲假。 - 因此
if _name_=='_main_':
的作用:,if _name_=='_main_':
後的代碼只有在第一種情況下(即文件作爲腳本直接執行)纔會被執行,而作爲模塊import到其他python腳本中是不會被執行的(只會執行if __name__ == 'main':
前的代碼)。