if __name__ == "__main__" 的作用
阿新 • • 發佈:2019-04-11
總結 fun .py pre 代碼塊 運行時 import level ted
作用:當模塊被直接運行時,以下代碼塊將被運行,當模塊是被導入時,代碼塊不被運行。
例子:
# file one.py def func(): print("func() in one.py") print("top-level in one.py") if __name__ == "__main__": print("one.py is being run directly") else: print("one.py is being imported into another module") # file two.py importone print("top-level in two.py") one.func() if __name__ == "__main__": print("two.py is being run directly") else: print("two.py is being imported into another module") 如果你執行one.py文件, python one.py 會輸出: top-level in one.py one.py is being run directly 如果你執行two.py文件, python two.py 會輸出: top-level in one.py one.py is being imported into another module top-level in two.py func() in one.py two.py is being run directly
總結:當模塊導入時if __name__ == "__main__" 代碼塊不被執行,寫if __name__ == "__main__"是為了防止模塊導入,導致又重新運行了一遍導入的模塊的代碼。
if __name__ == "__main__" 的作用