关于python中的if __name__=='__main__'语句问题


在python中,往往会有语句:if __name__=='__main__':,这个句子的含义是什么?如何去检查这个模块的__name__属性,这个__name__属性在哪又是如何被赋值的?

python

暗之美G 12 years, 2 months ago

用来判断模块是不是被另外一个模块包含进来的。

模块是对象,并且所有的模块都有一个内置属性 __name__。一个模块的__name__ 的值取决于您如何应用模块。如果 import 一个模块,那么模块__name__的值通常为模块文件名,不带路径或者文件扩展名。但是您也可以像一个标准的程序样直接运行模块,在这种情况下, __name__ 的值将是一个特别缺省"__main__"。
http://www.cnblogs.com/xuxm2007/archi...

如果一个模块不能作为启动模块,只能被其他模块调用或为其他模块提供一些函数,则可据此防止被错误地直接运行。

__name__属性是系统给赋值的。

Patch answered 12 years, 2 months ago

Your Answer