0
如何使用Mixin來獲取不斷變化的數據以流過其他類以便我可以訪問數據而不必關聯從我的所有類/對象中的類的實例中獲取它?Python 2.7類如何從Mixin中獲取變量並在Mixin中更改變量
例
class DataMixin(object):
data = {}
def change_data(self, data=None):
"""
HERE I AM TRYING TO ASSIGN data TO THE MIXIN ITSELF SO ALL CLASSES
USING THIS MIXIN RECEIVE THE SAME UPDATED data FIELD
"""
super(DataMixin, self).data = data
dm = DataMixin()
# EDIT. Moved Below line lower.
# dm.change_data(data={'new': 'data'})
class Class1(DataMixin, object):
def __init__(self):
self.data = super(Class1, self).data
class Class2(DataMixin, object):
def __init__(self):
self.data = super(Class2, self).data
c1 = Class1()
c2 = Class2()
# EDIT. MOVED TO HERE.
dm.change_data(data={'new': 'data'})
print "c1: {}".format(c1.data)
print "c2: {}".format(c2.data)
上面的代碼打印:
C1:{}
C2:{}
我希望它打印:
C1:{ '新': '數據'}
C2:{ '新': '數據'}
是否有這樣做上述多繼承的方式嗎? 「OR」 我是否需要更好地瞭解這一點?請說明是否應該以更好的方式完成。
乾杯......