我是继承新手,之前关于继承和 Python 的 super() 函数的所有讨论都让我有点头晕目眩。我目前使用以下代码来更新父对象的值。
#!/usr/bin/env python
# test.py
class Master(object):
mydata = []
def __init__(self):
s1 = Sub1(self)
s2 = Sub2(self)
class Sub1(object):
def __init__(self,p):
self.p = p
self.p.mydata.append(1)
class Sub2(object):
def __init__(self,p):
self.p = p
self.p.mydata.append(2)
if __name__ == "__main__":
m = Master()
print m.mydata
此命令行返回如下:
user@host:~$ ./test.py
[1, 2]
有没有更好的方法来使用 super() 而不是将“self”引用传递给孩子?