先来看个简单的例子
fun1.py
import fun2
fun2.fun()
fun2.py
def fun():
print("hello")
if __name__=='__main__':
print("run as main")
else:
print(__name__)
运行fun1.py的结果是
fun2
hello
运行fun2.py的结果是
run as main
现在来解释一下
name是当前模块名, 当程序被当做主函数(就是直接运行)时, 模块名变为’main‘, 而如果是作为模块被其他程序导入时, 模块名就是原来的名字. 所以if name == ‘main‘就是用来判断这个程序是在跑呢还是在被调用呢