Python 中if __name__ == '__main__'原理

来源:互联网 发布:js数组的长度 编辑:程序博客网 时间:2024/09/21 08:17

我们在python 脚本中经常能看到if __name__ =='__main__'这句话,而且貌似程序的入口也在这里,现在就来说一下他的作用与原理。

我们知道在python中一切皆对象,模块也是对象,每个模块对象都有一个内置属性__name__,一般有两种情况。


一、直接执行脚本

这种情况下__name__的值为‘__main__’,所以if __name__ =='__main__'为True:

直接在脚本中打印__name__属性

print (__name__)
result: __main__


二、在脚本中加载模块

这种情况下__name__的值为import的py脚本的名称,所以if __name__ =='__main__'为False:

加载模块之后打印该模块的__name__属性

import timeprint (time.__name__)

resulttime


总结:当直接运行某个.py脚本的时候,__name__=="__main__"为True,当脚本被当做模块被import的时候,他的__name__属性等于py脚本的名字。


原创粉丝点击