大部分python程序中包含" if __name__=='__main__': "
这句代码,原来不能详尽理解,查找相关资料后,总结如下:
当我们新建一个one.py文件后,one.py文件的内置属性名为main,故当执行该one.py文件时," if__name__=='__main__': "
之前的代码执行完毕后,判断" if __name__=='__main__': "
成立,它下面的代码也会被执行;当one.py被作为一个模块导入two.py文件中,那么one.py文件的内置属性名就变成了文件名—“one”,故当执行two.py文件时,one.py文件中的"if__name__=='__main__': "
之前的代码执行完毕后,判断" if __name__=='__main__': "
不成立,它下面的代码则不会被执行。
总的来说:把自己作为脚本运行时," if __name__=='__main__': "
下的代码会被执行;把自己作为模块导入其他脚本中," if __name__=='__main__': "
下的代码不会被执行。
示例:
# one.py
# coding=utf-8
print("1")
if __name__=='__main__':
print("2")
else:
print("3")
执行结果:
1
2
# two.py
# coding=utf-8
import one
print("4")
if __name__=='__main__':
print("5")
else:
print("6")
执行结果:
1
3
4
5
完毕