首页 > 代码库 > if __name__ == '__main__' 如何正确理解

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

今天刷知乎,突然看到这个问题,发现很多人都是简单的回答了一下,对于很多人来说,更准确的说应该是大部分的 Python 初学者,这样的回答很容易让人理解。所以这里我来做说一下,希望能把这个问题说明白。

先举一个例子:假设我们有一个add.py文件,里面的代码是这样:

def add(a, b):
    return a + b
add(1,2)#用于测试上面函数是否正常

这里就是一个求两数之和的函数,然后我在另一个文件中调用这个模块,这个时候就会把add(1,2)也运行,但是我是不希望运行add(1,2)的,这个只是我测试一下随手写的而已。

然后怎么办呢,这个时候我就在原先的文件中加上if __name__ == ‘__main__‘

内容如下:

def add(a, b):
    return a + b
if __name__ == ‘__main__‘:
    add(1,2)

这个时候再调用这个模块的时候就不会运行add(1,2)了

if __name__ == ‘__main__‘:的意思就是:当这个程序直接运行的时候才执行后面的代码,所以当这个文件在其他文件中被调用的时候就不会运行后面的代码

 

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