python中 __name__ == "__main__"的含义

limalove / 2023-09-03 / 原文

 

如果在当前模块查看__name__属性,返回值为__main__;

如果导入到其他模块,查看__name__属性,返回值为导入模块的名字。

如果我们是直接执行某个.py文件的时候,该文件中那么”__name__ == '__main__'“是True,但是我们如果从另外一个.py文件通过import导入该文件的时候,这时__name__的值就是我们这个py文件的名字而不是__main__。

这个功能还有一个用处:调试代码的时候,在”if __name__ == '__main__'“中加入一些我们的调试代码,我们可以让外部模块调用的时候不执行我们的调试代码,但是如果我们想排查问题的时候,直接执行该模块文件,调试代码能够正常运行!