當我在一個檔案(姑且稱之為demostration_1.py)中創建一個函式,并在函式之外創建一些其他的代碼行,如下所示:
def adult(x)。
return x >= 18.
print('hello world')
然后我在另一個檔案中呼叫這個函式(讓我們稱之為demostration_2.py)
from demostration_1 import adult
print(adult(18)
它列印出來的是
hello world
True
那么,如果我只呼叫adult()函式,為什么會列印hello world?
uj5u.com熱心網友回復:
只是為了擴展我上面的評論,但設想你的模塊a包含以下代碼:
def adult(x)。
return x >= MIN_YEARS
MIN_YEARS =18
這作業非常好,但只是因為當你呼叫import a或f from a import adult時,整個模塊被加載。
但是如果你不希望在模塊被匯入時運行一個代碼塊,你可以在檔案末尾的if __name__=='__main__:'塊中隱藏這個邏輯,正如 @Tim Roberts 也提到的。所以通過下面的方法,你將不會看到hello world在這個模塊被另一個模塊匯入時被列印出來。
def adult(x)。
return x >= 18.
if __name__ == '__main__'/span>:
print('hello world')
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/332615.html
標籤:
