pythonif __name__=='__main__'

Posted hzyuan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pythonif __name__=='__main__'相关的知识,希望对你有一定的参考价值。

当我们想一个python文件作为脚本直接执行时才执行某段代码,而被其他python文件调用时不执行那段代码,就可以通过 if __name__==\'__main__\'实现。 if __name__==\'__main__\'只有在python文件作为脚本执行时才为 True。

python 文件直接执行时 __name__ 值为 \'__main__\',被别的文件调用时 __name__ 值为模块名称。

#test.py
print(\'one\')
print(\'__name__:\', __name__)
if __name__==\'__main__\':
    print(\'two\')

\'\'\'
运行结果:
one
__name__: __main__
two
\'\'\'

#import_test.py
import test

\'\'\'
运行结果:
one
__name__: test
\'\'\'

Pythonif __name__ == "__main__"做了什么?

在Python的很多源文件中,会有这样的语句:

if __name__ == __main__:
    # script code here

比如有两个源文件A.py和B.py,都有上面的代码:在B.py中导入了A.py: import A

执行B.py,B.py中的 if __name__ == "__main__":

解释为

if B==B:

在执行到B.py中导入的A.py文件中的 if __name__ == "__main__":时,

解释为

if A==B

因此可以看出:

__name__:表示当前执行的文件名称

__main__:表示程序入口文件的名称。本例中是执行的B.py,因此__main__表示B文件名(不包括.py)

 

以上是关于pythonif __name__=='__main__'的主要内容,如果未能解决你的问题,请参考以下文章

Pythonif __name__ == ‘__main__‘:

Pythonif __name__ == "__main__"做了什么?

if __name__ == '__main__':

20171216

if __name__ == '__main__'

Python程序中__name__变量(解释:if __name__ == '__main__':)