對Python中「if `__name__`==`__main__`:」的理解

在咱們使用CCPP、Java編程時,都會寫到一個main函數,它是程序執行代碼的入口。編程

int main(){
printf("Helloworld");
}函數

Python做爲一種解釋型腳本語言,不須要一個main函數做爲程序的入口,而是從py文件的頂行往下逐行翻譯執行。這樣來看,「if __name__==__main__:」就彷佛具備必定的象徵性,讓閱讀代碼的人知道這是程序的入口。但實際上__name__是Python的一個內置屬性。翻譯

__name__屬性的含義

__name__屬性是Python的一個內置屬性,記錄了一個字符串。code

這個字符串上的內容有兩種可能:字符串

①模塊文件的文件名class

__main__import

好比說如今有一個hello.py文件:程序

當咱們在其餘文件內import hello,那麼hello.__name__==「hello」爲True。im

若咱們直接運行hello.py,那麼hello.__name__==「__main__」爲True。腳本

"if __name__==__main__:"的做用:

理解了__name__屬性的含義,就能夠利用它來編程了。

若是模塊中的某些代碼只須要在直接運行該模塊的時候執行,而被導入的時候不須要被執行,那麼咱們只須要:

if __name__==__main__:
 lineA
 lineB
 lineC
相關文章
相關標籤/搜索