摘要:关于python类中的私有变量的研究

第一段代码:

class A(object):
    _data="122"
    def __init__(self):
        self.__private()
        self.public()
    def __private(self):
        print 'A.__private()'
    def public(self):
        print 'A.public()'
class B(A):
    def __private(self):
        print 'B.__private()'
    def public(self):
        print 'B.public()',self._data
b = B()

第二段代码:

class A(object):
    _data="122"
    def __init__(self):
        self._private()
        self.public()
    def _private(self):
        print 'A.__private()'
    def public(self):
        print 'A.public()'

class B(A):
    def _private(self):
        print 'B.__private()'
    def public(self):
        print 'B.public()',self._data
b = B()

涉及到 python 对 私有变量 的碾压问题。在第一段代码中,A的__int__调用的self.__private()是私有方法会被替换为self._A.__private()。

详情参考:python下划线,私有变量 - mugua250 - 博客园