Python中的if __name__='__main__'语句的作用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python中的if __name__='__main__'语句的作用相关的知识,希望对你有一定的参考价值。

笔者在自学Python的过程中,对于if __name__=‘__main__‘的用法感到很困惑,在think Python一书中原作者的源代码是这么解释if __name__=‘__main__‘语句的:

# the following condition checks whether we are
# running as a script, in which case run the test code,
# or being imported, in which case don‘t.


英语渣没能准确得知作者要表达的意思,后来经过百度加上自己的摸索,终于搞明白了if __name__=‘__main__‘的用法,

   if __name__=‘__main__‘语句下面一般是测试语句,若是直接运行(Run)包含这个if语句的script文件,则会执行该测试语句;

   如果是作为模块被导入至Python环境,则下面的测试语句不会被执行。即在save包含if语句的script文件后,比如存为Tutorial.py,那么你可以在Python的IDLE交互环境下直接输入import Tutorial,你会发现Tutorial模块导入成功了,但是并没有执行if __name__=‘__main__‘语句下的测试语句。

PS:if __name__=‘__main__‘中的下划线是两个"_",笔者在测试时候曾经以为只有一个下划线,而浪费大量时间找bug,最后还找不到(一脸懵逼),原谅我还没学会Debugger。

以上是关于Python中的if __name__='__main__'语句的作用的主要内容,如果未能解决你的问题,请参考以下文章

如何简单地理解Python中的if __name__ == '__main__'

如何简单地理解Python中的if __name__ == '__main__'

如何快速简单粗暴地理解Python中的if __name__ == '__main__'

如何简单地理解Python中的if __name__ == '__main__'

关于Python中的 if __name__ == '__main__'

Python中的if __name__='__main__'语句的作用