对Python中“if `__name__`==`__main__`:”的理解

Posted BLIIIIIIND

tags:

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

在我们使用CCPP、Java编程时,都会写到一个main函数,它是程序执行代码的入口。

int main(){
printf("Helloworld");
}

Python作为一种解释型脚本语言,不需要一个main函数作为程序的入口,而是从py文件的顶行往下逐行翻译执行。这样来看,“if __name__==__main__:”就似乎具有一定的象征性,让阅读代码的人知道这是程序的入口。但实际上__name__是Python的一个内置属性。

__name__属性的含义

__name__属性是Python的一个内置属性,记录了一个字符串。

这个字符串上的内容有两种可能:

①模块文件的文件名

__main__

比如说现在有一个hello.py文件:

当我们在其他文件内import hello,那么hello.__name__==“hello”为True。

若我们直接运行hello.py,那么hello.__name__==“__main__”为True。

"if __name__==__main__:"的作用:

理解了__name__属性的含义,就可以利用它来编程了。

如果模块中的某些代码只需要在直接运行该模块的时候执行,而被导入的时候不需要被执行,那么我们只需要:

if __name__==__main__:
 lineA
 lineB
 lineC

以上是关于对Python中“if `__name__`==`__main__`:”的理解的主要内容,如果未能解决你的问题,请参考以下文章

python if __name__ == "__main__"

python中if __name__ == '__main__':

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

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

浅析python中_name_='_main_'

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