关于__name__=='__main__'的理解
Posted panda901
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于__name__=='__main__'的理解相关的知识,希望对你有一定的参考价值。
一、总的来说,如果__name__==‘__main__‘成立,表示当前模块就是主程序,
如果__name__==‘__main__‘不成立,表示当前模块是被导入到某个模块中的,而此时__name__的值是被导入的这个模块的模块名
举例说明:
PP.py
#coding=utf-8 class F1(): print ‘0000‘ def add(self): print ‘F1的add方法‘ def jian(self): print ‘F1的jian方法‘ if __name__==‘PP‘: print ‘PP被导入了‘ if __name__==‘__main__‘: print ‘我是主程序,被执行‘
运行PP结果为: 此时PP是主程序,所以__name__的值是__main__,执行结果就如下:
0000
我是主程序,被执行
pp2.py模块
#coding=utf-8 from PP import * #一旦被导入,就开始执行 class cat(): def eat(self): pass print __name__
pp2的运行结果: 运行结果的前俩句是PP被导入后就会立马执行,PP的执行结果。__main__这个结果是pp2的__name__值
0000 PP被导入了 __main__
所以,模块A是主程序时,A模块的__name__值是__main__,模块A被导入到别的模块B的话,在B里执行A时,A的__name__值是A的模块名称
以上是关于关于__name__=='__main__'的理解的主要内容,如果未能解决你的问题,请参考以下文章
关于Python中的 if __name__ == '__main__'