python 中的if __name__ == 'main':
看过一次解释,以为自己明白了,现在又忘记了,看来是不能高估了自己的记忆力,还是记下来:
首先说模块:模块基本上就是一个包含了所有你定义的函数和变量的文件。为了在其他程序中重用模块,模块的文件名必须以.py为扩展名。我们利用import语句 输入需要使用的模块。
每个模块都有一个内置的变量__name__。在模块自己运行的时候,该__name__就等于'main',而如果被其他的模块import,则该模块的__name__就等于模块名,也就是文件名去掉py扩展名的部分。
如下例子:转自http://www.cnblogs.com/jansen2008/archive/2009/08/01/1536518.html
test.py
def test():
print "test is running"
if __name__ == "__main__":#自运行时调用该程序块
print "test main is working"
if __name__ == "test":#import时调用该程序块
print "test is invoked"
自执行效果如图:
1
import执行效果如图:
2
执行test()方法效果如图:
3
通过这个例子,python应用模块的自测试程序都放在 if __name__ == "__main__" 条件块下是多么方便。