python __name__是什么
Python中的模块(.py文件)在创建之初会自动加载一些内建变量name__就是其中之一。许多变量和函数通常定义在Python模块中,相当于模块中的一个功能。模块导入其他文件,可以调用这些变量和函数。所以在这个时候 __name__ 它可以识别模块的名称,显示模块的某个功能是由自己执行还是由其他文件调用执行,假设模块A、B,模块A本身定义了功能C,模块B调用了模块A,现在功能C已经实现了:
如果C是A自己执行的,也就是说模块执行了自己定义的功能,那么 __name__='__main__'
如果C被B调用,也就是说,当前模块调用执行其他模块的功能,那么__name__='A'(调用模块的名称)
事实上,换句话说,这意味着当前程序在哪个模块中运行。
相关推荐:Python入门教程
以下例子说明:
首先,自定义模块Student,在模块中定义功能Differ()
然后先自己执行,结果如下, __name__=='__main__'
然后B调用执行,结果 __name__='Student'
由于python中的导入模块将首先执行文件,以上两个结果如下图所示:
有些人可能已经注意到了上面的内容 __main__ 它可以作为python中的函数入口,但在实际工程中很常见 if __name__='__main__'表示整个项目开始运行的入口。此外,如果您不希望功能的某一部分被其他模块调用和执行,例如,我设置的模块Student中的“我的密码是xxx”只能打印自己的密码。您可以在if语句中写下所有的部分,只有__name__='__main__'只有在执行时才能执行。这是可以理解的。除if语句外,代码是最外层的,意思是“全局变量”。把它放进if里就成了私人的。