當python解釋器讀一個源文件的時候,會執行文件裏面全部的代碼。可是若是python執行一個源文件,做爲main program執行的時候,會設置一個__name__變量,這個變量的值爲__main__. 當執行主程序的時候使用 if __name == '__name__', 若是值爲true,那麼python會執行該文件,不論是做爲可重複使用的模塊或者是一個單獨的程序。python
若是要python在執行import文件種的函數:函數
__name __== moudle's namespa
例如:code
test1.pyblog
from test2 import print_hello def print_world(): print ('world') if __name__ == '__main__': print_world() print_hello()
test2.pyclass
def print_hello(): print ('hello') if __name__ == 'test2': print_hello()
單獨運行test2.py 無任何打印, 由於沒有__name__ == '__main__'test
若是運行test1.py, 則會打印hello,word,hello , 首先在import的時候會運行test2.py,而後再運行__name__=='__main__'下的兩個函數。import
若是要python執行本文件種的函數:變量
__name __== '__main__'程序