您是不是需要使用 __name__=__main__ 语句在 python 中运行任何脚本? [复制]
Posted
技术标签:
【中文标题】您是不是需要使用 __name__=__main__ 语句在 python 中运行任何脚本? [复制]【英文标题】:Do you need to use __name__=__main__ statement for running any script in python? [duplicate]您是否需要使用 __name__=__main__ 语句在 python 中运行任何脚本? [复制] 【发布时间】:2012-08-02 13:04:42 【问题描述】:可能重复:What does
if __name__=="__main__":
do?What's the point of a main function and/or__name__ == "__main__"
check in Python?
我只是想了解如果我们可以运行任何 python 脚本,即使不使用该语句,为什么还要使用 __name__='__main__'
statement。
例如,我可以在不使用 if __name__='__main__'
语句的情况下运行下面的脚本。
def hello():
print "hello"
return 1234
# And here is the function being used
print hello()
【问题讨论】:
嗯,这不是您必须使用该语句的原因,而是您可能想要的原因。 你通常不希望导入模块产生副作用,比如让它对你运行一堆操作。 【参考方案1】:这样做是为了让代码仅在作为脚本运行时执行,而不是在您导入模块时执行。
【讨论】:
【参考方案2】:全局命名空间中的代码运行速度稍慢。制作main()
函数很容易,为什么不这样做呢?如果您不介意在导入模块时“运行”该模块,则它是可选的
【讨论】:
以上是关于您是不是需要使用 __name__=__main__ 语句在 python 中运行任何脚本? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如何导入需要 __name__ == "__main__" 的脚本
Python中的构造“ if __name__ == '__main__'”