1. 程式人生 > >if __name__ == '__main__' 到底是何方神聖(轉)

if __name__ == '__main__' 到底是何方神聖(轉)

if語句 這一 span python文件 之前 依靠 解釋 被調用 spa

想必很多初次接觸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__' 到底是何方神聖(轉)