python 中 if __name__ == '__main__' 判断的作用

Posted beforeluck

tags:

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

假设这样一个a.py文件

def fun1():

  ........

def fun2():

  .........

 

if __name__==‘__main__‘:

  ......#执行的一些语句

 

当你执行这个a.py文件时, __name__ == ‘__main__‘为真,后面的语句可以执行

当你在别的文件中import a文件,当做模块使用时,__name__ == ‘__main__‘为假,后面的语句不执行了,只有前面定义的函数其作用.

如果没有这句话话,你在b.py中引用a的话,那些执行语句也会执行。假设你只想引用a中的函数,那你就得加这句话。

所以,这句话是为了让你把一个文件既可以当做可执行的,有可以当做可引入的模块。Python中当你引用一个模块时,它会执行所有的语句,你只想要函数的话,就用那句话挡住它不要往下找,只把函数找出来就好。

每个模块都有内置属性__name__,当是执行程序时,是‘__main__’,是导入模块时,是‘a‘ 就是模块的名字。

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

(转)Python中如何理解if __name__ == '__main__'

Python中if __name__ == '__main__':的作用和原理

python 中 if __name__ == '__main__' 判断的作用

Python中if __name__ == '__main__':的作用和原理

如何在 Python3 中使用带有 if __name__='__main__' 块的相对导入?

Python中if __name__ == "__main__": 的作用 (整理转自Arkenstone) --感谢!