先说结论,这就是用来判断当前运行的脚本是主运行脚本还是被其他脚本调用所运行的。
每个python文件都可以作为单独的文件运行,或者是作为一个模块被其他文件调用运行。
举个例子
比如下面这个代码,test1的作用是实现a+b
def add(a:int,b:int) ->None:
print(f"{a}+{b}={a+b}")
add(3,7)
from test1 import add
add(2,4)
test2的本意是通过调用test1实现两数之和,但是实际运行还会输出test1中的结果,那我们应该怎么做呢?
这时候就可以用if name == ‘main’
把test1中的代码修改成如下即可
def add(a:int,b:int) ->None:
print(f"{a}+{b}={a+b}")
if __name__ == '__main__':
add(3,7)
这个时候运行test2就不会再输出3+7=10了
从这个例子中,可以看出,if name == ‘main’ 的作用就是判断当前脚本是否是做为主脚本而运行的,如果test1是被test2调用运行的,那么就不会执行add(3,7)。