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

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

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

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

__name__属性的含义

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

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

①模块文件的文件名class

__main__import

好比说如今有一个hello.py文件:程序

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

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

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

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

若是模块中的某些代码只须要在直接运行该模块的时候执行,而被导入的时候不须要被执行,那么咱们只须要:

if __name__==__main__:
 lineA
 lineB
 lineC
相关文章
相关标签/搜索