python代码中经常会用到if __name__ == '__main__'
意思是只有当该Python脚本直接作为执行程序时才会执行if __name__ == '__main__'后面的内容。
下面通过两段代码说明一下:
testA.py
print("hello main function")def testA(): print("testA function")if __name__ == '__main__': print(__name__) testA()
该脚本执行结果打印的函数名称是__main__
testB.py
import testAprint(testA.__name__)
本段代码引入了testA,并打印了testA的main函数。
因为不是直接以testA.py为执行程序,所以testA()函数没有被触发。
另外。此时打印的testA的main函数名称是testA,而不是__main__
总结:
if __name__ == '__main__'就是单独执行某个脚本时候的程序入口,但是即使没有if __name__ == '__main__',我们也可以自己写一个程序入口,所以if __name__ == '__main__'在某种程度上有些鸡肋。