在Python的每个模块中,都内置了很多变量,其中有一个就是 '__name__ ' 变量。
该变量在模块被导入或直接运行时,其值是不一样的:
比如有一个模块test:
debug = True
class FooClass (object):
"Foo class"
pass
def test():
"test function"
if debug:
print "ran test()"
if __name__ == "__main__":
test()
以上程序摘自《Python核心编程》
如果该模块是被导入的话,则 __name__ 的值就为该模块的名称 test
如果该模块是直接被当做应用程序执行的话,则 __name__ 的值为 "__main__"
也就是说,如果该模块是被导入的话,则不执行调试语句;若是被直接作为应用程序执行的话,则执行调试语句。