在咱們使用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