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

在我们使用C\CPP、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

猜你喜欢

转载自blog.csdn.net/weixin_51447314/article/details/114082050