浅析python中_name_='_main_'
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浅析python中_name_='_main_'相关的知识,希望对你有一定的参考价值。
刚接触到python时,对代码中的_name_=‘_main_‘比较疑惑,本文对其的讲解借鉴了其他博客讲述(见参考资料),希望和大家共同学习。
Make a script both importable and executable
首先先看一个例子
1 #module.py 2 def main(): 3 print "we are in %s"%__name__ 4 if __name__ == ‘__main__‘: 5 main()
在这段函数中,定义main函数,当py文件被执行时,会打印 we are in __main__ ,表明if语句中的内容被执行。但是,当从另一模块导入module模块时且调用main()时
1 #anothermodule.py 2 from module import main 3 main()
会打印结果we are in module
之多以与之前的显示不同,说明没有进入if下的代码
其中__name__是模块的内置属性,且这个内置属性的值取决于这个.py文件的使用方式,即是作为模块导入还是直接执行。
如果你是直接执行,那么这个__name__的值就是__main__,如果你作为一个模块导入,那么这个内置属性值就取决于这个文件名,在这里即module。
参考资料
1.http://blog.csdn.net/sinat_15274667/article/details/51378882
2.http://www.jb51.net/article/51892.htm
以上是关于浅析python中_name_='_main_'的主要内容,如果未能解决你的问题,请参考以下文章
浅析python 中__name__ = '__main__' 的作用
浅析python 中__name__ = '__main__' 的作用
浅析python 中__name__ = '__main__' 的作用