剛開始接觸的if __name=='__main__'是在自定義了一個函數(shù)后吊输,執(zhí)行主代碼時喝检,經(jīng)巢闷妫看到這家伙的出現(xiàn),查了網(wǎng)上大神的解釋之后撑蚌,其實也是比較好理解的:
其實加上這句的話主要是為了方便我們寫好的函數(shù)給你寫其他文件時調(diào)用上遥,我們之前寫好1.py中的每一個變量也叫模塊,加上了if __name__== '__main__': ,比如:2.py 調(diào)用1.py 中的getHtmlText,這個模塊時争涌,只執(zhí)行了這個模塊中的代碼粉楚,而模塊外面的代碼不執(zhí)行
這個也是python 函數(shù)模塊接口
例如:文件test1.py 中含有一個自定義求和的函數(shù)sum1
def ?sum1(x,y):
? ? print('和:',x+y)
sum1(2,3)
現(xiàn)在有個test2.py 定義一個求平方和的函數(shù)sum2,且要調(diào)用1.py 中的sum1模塊
from test1 import sum1
def sum2(x,y)
? ? print ('平方和:',sum1(x,y)**2)
sum2(2,3)
#結(jié)果:
和:5
平方和:25
很顯然亮垫,我們只是想結(jié)果出現(xiàn):平方和:25模软,但是調(diào)用的時候,他把前一個模塊中的其他代碼也運(yùn)行了饮潦,所以if __name__== '__main__':的效用就體現(xiàn)在這里了燃异,對test1.py改良后的版本:
def ?sum1(x,y):
? ? print('和:',x+y)
if ?__name__=='__mian__':
????sum1(2,3)
當(dāng)test2.py再調(diào)用時继蜡,出現(xiàn)的結(jié)果就只是:平方和:25了