class ParentClass(object):
def __init__(self):
self.__x = 1
self.y = 10
def PRINT(self):
print (self.__x, self.y)
class ChildClass(ParentClass):
def __init__(self):
super(ChildClass, self).__init__()
self.__x = 2
self.y = 20
c = ChildClass()
c.PRINT()
为什么输出(1,20)?我知道我是如何得到20,但不是2而不是1?Python继承输出
他说什么。此外,您仍然可以通过对名称进行计算并访问“ParentClass()._ ParentClass__x”来访问私有对象。 – 101
帮你一个忙,不要访问名字上的成员。这正在破坏这一点。 – poke
是不是所谓的名字* mangling *,不是名字* wrangling *?我敢肯定,争吵意味着围捕牲畜或争论,而捣乱意味着把事情搞砸,因此无法辨认。虽然我喜欢将变量名称四舍五入的心理形象...... – SethMMorton