1. 程式人生 > >if __name__ == "__main__" 的作用

if __name__ == "__main__" 的作用

總結 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
import
one 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__" 的作用