千家信息网

python中名称前双下划线的示例分析

发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,这篇文章将为大家详细讲解有关python中名称前双下划线的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。名称前的双下划线(如:__shahriar)名称(具
千家信息网最后更新 2024年11月23日python中名称前双下划线的示例分析

这篇文章将为大家详细讲解有关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中名称前双下划线的示例分析"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

0