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('我来自另一模块')