python中的__name__ =="__main__"是什么意思呢

如题所述

__name__是指示当前py文件调用方式的方法。如果它等于"__main__"就表示是直接执行,如果不是,则用来被别的文件调用,这个时候if就为False,那么它就不会执行最外层的代码了。
比如你有个Python文件里面
def XXXX():
#body
print "asdf"
这样的话,就算是别的地方导入这个文件,要调用这个XXXX函数,也会执行print "asdf",因为他是最外层代码,或者叫做全局代码。但是往往我们希望只有我在执行这个文件的时候才运行一些代码,不是的话(也就是被调用的话)那就不执行这些代码,所以一般改为
def XXXX():
#body
if __name__="__main__":
print "asdf"
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-04-11
__name__为python程序内置属性
__name__为__main__时表示程序作为主程序执行,而不是使用import 作为模块导入本回答被网友采纳
第2个回答  推荐于2017-09-16
__name__系统变量指示模块应如何被加载,他的值为"__main__"时表示当前模块是被直接执行。
由于主程序代码无论模块是被导入还是直接被执行都会运行,所以我们需要一种方式在运行时检测该模块是被导入还是被直接执行。该方式也就是__name__系统变量。如果模块是被导入,__name__的值为模块名字;如果是被直接执行,__name__的值为"__main__"。
此处所说的模块可以简单理解为一个.py文件。
相似回答