私は継承が初めてで、継承と 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() でこれを行うより良い方法はありますか?