假設這樣一個a.py文件函數
def fun1():code
........string
def fun2():class
.........import
if __name__=='__main__':引用
......#執行的一些語句程序
當你執行這個a.py文件時, __name__
=
=
'__main__'爲真,後面的語句能夠執行
im
當你在別的文件中import a文件,當作模塊使用時,__name__
=
=
'__main__'爲假,後面的語句不執行了,只有前面定義的函數其做用.
word
若是沒有這句話話,你在b.py中引用a的話,那些執行語句也會執行。假設你只想引用a中的函數,那你就得加這句話。
文件
因此,這句話是爲了讓你把一個文件既能夠當作可執行的,有能夠當作可引入的模塊。Python中當你引用一個模塊時,它會執行全部的語句,你只想要函數的話,就用那句話擋住它不要往下找,只把函數找出來就好。
每一個模塊都有內置屬性__name__,當是執行程序時,是‘__main__’,是導入模塊時,是'a' 就是模塊的名字。