if __name__ == '__main__' 到底是何方神聖(轉)
想必很多初次接觸python都會見到這樣一個語句,if __name__ == "__main__":
那麽這個語句到底是做什麽用的呢?在解釋之前,首先要聲明的是,不管你是多麽小白,你一定要知道的是:
1.python文件的後綴為.py;
2..py文件既可以用來直接執行,就像一個小程序一樣,也可以用來作為模塊被導入(比如360安全衛士,就是依靠一個個功能模塊來實現的,好比360安全衛士本身框架是一個桌面,而上面的圖標就是快捷方式,這些快捷方式所指向的就是這一個個功能模塊)
3.在python中導入模塊一般使用的是import
好了,在確定知道以上幾點之後,就可以開始解釋if __name__ == "__main__":這個語句了。
首先解釋一下if,顧名思義,if就是如果的意思,在句子開始處加上if,就說明,這個句子是一個條件語句。學習if語句的使用是很簡單的,當然想要真正靈活運用還需大量的實踐。
接著是 __name__,__name__作為模塊的內置屬性,簡單點說呢,就是.py文件的調用方式。
最後是__main__,剛才我也提過,.py文件有兩種使用方式:作為模塊被調用和直接使用。如果它等於"__main__"就表示是直接執行。
總結:在if __name__ == "__main__":之後的語句作為模塊被調用的時候,語句之後的代碼不執行;直接使用的時候,語句之後的代碼執行。通常,此語句用於模塊測試中使用。
在cmd 中直接運行.py文件,則__name__的值是‘__main__‘;
而在import 一個.py文件後,__name__的值就不是‘__main__‘了;
從而用if __name__ == ‘__main__‘來判斷是否是在直接運行該.py文件
if __name__ == '__main__' 到底是何方神聖(轉)