<p>名称损坏在大多数情况下都是有效的,但当子类的名称与超级类的名称相同时就不起作用了;例如,如果不同模块中的两个类<code>m2.A</code>扩展了<code>m1.A</code>,那么<code>m2.A.foo</code>将隐藏<code>m1.A.foo</code>,因为它们都变成了<code>_A__foo</code>;是否有一个选项可以启用“更完整”的名称损坏,即使用唯一的类标识符损坏类字段</p>
<pre><code># m1.py
class C:
def __foo(self):
print('C1')
def bar(self):
self.__foo()
# main.py
from m1 import C as C1
class C(C1):
# i mangle this for internal use within this class, not expecting it to
# break a super class method; so i cant safely use a name even if it is
# mangled; sad, is there a way to mangle with a guid across all classes?
def __foo(self):
print('CM')
C().bar() # CM not C1
</code></pre>