在讲这个知识点之前我们先来讲一下python的两种文件
执行文件:当前运行的文件
模块文件:被导入的文件
eg:
from m1 import y #m1为模块文件
print(y)
执行文件和模块文件是相对的
所以他的两种用途分别是:
if __name__ == ‘__main__‘:
在这之前我们先来看一段代码,这段代码存在m.py文件中
#m.py
x =1
def f1():
print(m)
def f2():
print(n)
if __name__ == '__main__':
f1()
f2()
接下来是一个执行的文件run.py
# run.py
import m
如果直接运行run.py会直接运行m.py中的f1()
和f2()
,但是如果我们在aaa.py中加上if __name__ == ‘__main__‘:
这句话,则可以防止运行run.py时执行f1()
和f2()
。
当m.py
被当做执行文件的时候__name__ == ‘__main__‘
;
在m.py
被当做模块文件的时候__name__ == ‘m‘
。
由此可以让m.py在不同的场景下有着不同的用法。
if __name__ == ‘__main__‘:
实际上就是一个if
判断,或者是过滤器。
原文:https://www.cnblogs.com/yanjiayi098-001/p/11360207.html