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” 我是否需要更好地了解这一点?请说明是否应该以更好的方式完成。
干杯......