擅长:python、mysql、java
<p>使用双下划线,即<a href="https://docs.python.org/2/tutorial/classes.html#private-variables-and-class-local-references" rel="nofollow">name mangling</a></p>
<pre><code>class A(object):
def t1(self):
self.__t2() # < changed the call
def t2(self):
print "A"
__t2 = t2 # private copy of original t2() method
>>> a = A()
>>> b = B()
>>> a.tl()
A
>>> b.t1()
A
</code></pre>
<p>但是名称损坏有一个巨大的默认值:如果函数只有双下划线作为名称,那么单元测试将变得更加困难和丑陋</p>
<p>但我和@BrenBarn在一起,感觉像是一个脆弱的设计</p>