知行编程网知行编程网  2022-10-07 07:30 知行编程网 隐藏边栏  8 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于python __name__是什么的相关知识,包括python中name是关键字吗,以及callable python这些编程知识,希望对大家有参考作用。

什么是 python __name__

Python 中的模块(.py 文件)在创建时会自动加载一些内置变量,__name__ 就是其中之一。许多变量和函数通常在 Python 模块中定义。这些变量和函数相当于模块中的一个函数。模块导入到其他文件中,可以调用这些变量和函数。那么此时__name__的作用就暴露了。它可以识别模块的名称,并且可以显示模块的某个功能是由它自己执行还是由其他文件执行。假设模块A和B,模块A自己定义函数C,模块B调用模块A,现在函数C被执行:

如果C由A自己执行,也就是说模块执行自己定义的函数,那么__name__=='__main__'

如果C被B调用执行,也就是说当前模块调用并执行了其他模块的功能,那么__name__=='A'(被调用模块的名称)

其实换一种说法就是指出当前程序运行在哪个模块。

下面举例说明:

首先自定义模块Student,在模块中定义功能Differ()

什么是 python __name__

然后先自身执行,结果如下, __name__=='__main__'

什么是 python __name__

然后B调用执行,结果 __name__=='Student'

什么是 python __name__
什么是 python __name__

上面的结果是两次,因为python中的import模块会先执行文件,如下图:

什么是 python __name__

可能有人注意到了,上面的__main__可以作为python中函数的入口点,而实际项目中经常使用if __name__=='__main__'来表示整个项目开始运行的入口点。另外,如果你不希望函数的某些部分被其他模块调用和执行,比如我的自定义模块Student中的'my password is xxx',你只能自己执行才能打印密码。你所能做的就是把这部分写在 if 语句中,它只会在 __name__=='__main__' 时执行。可以这样理解。 if语句外面的代码是最外层,意思是“全局变量”,放在if里面就变成private了。

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享