python在導(dǎo)入模塊時修档,模塊中的代碼可能被執(zhí)行赌髓。例如:
module1.py
#模塊1中的代碼:
print("hello!")
print("hello!")
>>hello!
>>hello!
在名為module2.py的另一個模塊中導(dǎo)入module1.py時咒锻,其中的代碼會被執(zhí)行:
import module1
>>hello!
>>hello!
這個行為有時候會導(dǎo)致不便冷冗。比如你的模塊中可能有測試代碼守屉,不希望在導(dǎo)入時執(zhí)行惑艇。那么將模塊中所有的代碼放置在if name == "main"語句中,即可解決該問題拇泛。例如滨巴,可以將例子中module1.py的代碼改成如下所示:
module1.py
#模塊1中的代碼:
if __name__ == "__main__"
print("hello!")
print("hello!")
>>hello!
>>hello!
運行改程序時,輸出總是不變的俺叭。但是在module2.py中導(dǎo)入該模塊時恭取,module1.py中的代碼不會運行,不會打印hello熄守!示例如下:
#模塊2中的代碼
import module1