Python 中的 if __name__ == '__main__' 该如何理解

Posted heimaguangzhou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 中的 if __name__ == '__main__' 该如何理解相关的知识,希望对你有一定的参考价值。

python中所有的模块都有一个内置属性 __name__,一个模块的 __name__ 的值取决于如何应用模块。如果 import 一个模块,那么模块__name__ 的值通常为模块文件名,不带路径或者文件扩展名。但是您也可以像一个标准的程序样直接运行模块,在这 种情况下, __name__ 的值将是一个"__main__"。
  换句话讲,当你运行当前文件时,__name__=='__main__'返回真,则其后的代码会正常执行,但是当你在另一个文件import这个文件的时候,此时__name__=='__main__'返回假,则以下的代码将不会执行。作用就是if __name__ == "__main__"后的代码在本文件运行时会执行,其它地方引用时,就不执行。
示例:demo.py如下:

[Python] 纯文本查看 复制代码
1
2
3
4
def fn(x,y):
  return x+y
if __name__ == "__main__"
  print(fn(5,3))


当我直接运行demo.py,会输出结果为:

[Python] 纯文本查看 复制代码
1
8


demo01.py如下:

[Python] 纯文本查看 复制代码
1
import demo


而我运行demo01.py时就不会输出结果8

更多技术资讯可关注:gzitcast

以上是关于Python 中的 if __name__ == '__main__' 该如何理解的主要内容,如果未能解决你的问题,请参考以下文章

如何简单理解Python中的if __name__ == '__main__':

如何简单地理解Python中的if __name__ == '__main__'

如何简单地理解Python中的if __name__ == '__main__'

如何快速简单粗暴地理解Python中的if __name__ == '__main__'

if __name__ == "__main__": 和 Python 中的递归 [重复]

如何简单地理解Python中的if __name__ == '__main__'