这篇文章将为大家详细讲解有关python中名称前双下划线的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
名称前的双下划线(如:__shahriar)
名称(具体为一个方法名)前双下划线 _ 的用法并不是一种惯例,对解释器来说它有特定的意义。Python中的这种用法是为了避免与子类定义的名称冲突。Python文档指出,spam 这种形式(至少两个前导下划线,最多一个后续下划线)的任何标识符将会被 正如所预料的,“_internal_use”并未改变,而“method_name”却被变成了“_ClassName__method_name”。此时,如果你创建A的一个子类B,那么你将不能轻易地覆写A中的方法“__method_name”。spam 这种形式原文取代,在这里 classname 是去掉前导下划线的当前类名。例如下面的例子:
>>> class A(object): ... def _internal_use(self): ... pass... def __method_name(self): ... pass... >>> dir(A()) ['_A__method_name', ..., '_internal_use']
正如所预料的,“_internal_use”并未改变,而“method_name”却被变成了“_ClassNamemethod_name”。此时,如果你创建A的一个子类B,那么你将不能轻易地覆写A中的方法“__method_name”。
关于“python中名称前双下划线的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。