if __name__ == "__main__"

python文件的后缀为.py;.py文件有两种使用方式:作为模块被调用和直接使用。每个模块都有一个__name__属性。

1、当模块作为顶层文件被执行时,其__name__这个值为__main__,不包含任何包的名字。

2、当这个模块被别的模块调用(import)时,其__name__的值为这个模块和其所在包的名字。

所以, 当该模块直接被执行时,会执行(if __name__ == "__main__":)之后的语句;但该模块被调用时,语句之后的代码不执行;通常,此语句用于模块测试中使用。

一个模块被另一个程序第一次引入时,其主程序将运行。如果我们想在模块被引入时,模块中的某一程序块不执行,我们可以用__name__属性来使该程序块仅在该模块自身运行时执行。代码如下:

# Filename: using_name.py
if __name__ == '__main__':
   print('程序自身在运行')
else:
   print('我来自另一模块')

  

原文地址:https://www.cnblogs.com/mind18/p/12701768.html