python __name__是什么
爱喝马黛茶的安东尼
2019-10-28 17:31:146063浏览 · 0收藏 · 0评论
Python中的模块(.py文件)在创建之初会自动加载一些内建变量,__name__就是其中之一。Python??橹型ǔ;岫ㄒ搴芏啾淞亢秃庑┍淞亢秃嗟庇谀?橹械囊桓龉δ?,模块被导入到别的文件中,可以调用这些变量和函数。那么这时 __name__ 的作用就彰显了,它可以标识模块的名字,可以显示一个模块的某功能是被自己执行还是被别的文件调用执行,假设??锳、B,模块A自己定义了功能C,??锽调用??锳,现在功能C被执行了:
如果C被A自己执行,也就是说模块执行了自己定义的功能,那么 __name__=='__main__'
如果C被B调用执行,也就是说当前??榈饔弥葱辛吮鸬哪?榈墓δ埽敲確_name__=='A'(被调用模块的名字)
其实换一种说法也就是表示当前程序运行在哪一个??橹?。
相关推荐:《Python入门教程》
下面举例说明:
首先自定义??镾tudent,在??橹卸ㄒ骞δ蹹iffer()
然后先自身执行,结果如下, __name__=='__main__'
然后B调用执行,结果 __name__=='Student'
上面出两次结果,是因为python中导入??榛嵯冉募葱幸槐?,如下图:
到这儿可能有人已经注意到,上面的 __main__ 在python中作可以为函数的入口,而实际工程常用 if __name__=='__main__'来表示整个工程开始运行的入口。此外你如果不想让功能的某部分被别的??榈饔弥葱校热缥易远ǖ哪?镾tudent里的‘我的密码是xxx’,只有自己执行才可以打印密码。所有你可以把部分写在if语句里,只有__name__=='__main__'的时候才能执行。这个可以这么理解,在if语句之外代码是最外层的,有点“全局变量”的意思,放入if里面就成了私有的了。
关注公众号,随时随地在线学习