if __name__ == "__main__"如何正确理解

粗略来讲,__name__是当前模块,当模块被直接运行时模块名为__main__。这句话的意思是,当模块被直接执行时,代码将运行,当模块是被导入时,代码不被运行

例如,执行one.py

 1 # file one.py
 2 def func():
 3     print("func() in one.py")
 4 
 5 print("top-level in one.py")
 6 
 7 if __name__ == "__main__":
 8     print("one.py is being run directly")
 9 else:
10     print("one.py is being imported into another module")

  运行结果:

  执行two.py:

1 # file two.py
2 import one
3 
4 print("top-level in two.py")
5 one.func()
6 
7 if __name__ == "__main__":
8     print("two.py is being run directly")
9 else:

  运行结果:

 

 
原文地址:https://www.cnblogs.com/lesleysbw/p/5898158.html