0
Mixinを使用して他のクラスを継続的に流れるデータを取得して関連付けることなくデータにアクセスできる方法を教えてくださいそれは私のすべてのクラス/オブジェクト内のクラスのインスタンスからですか?Python 2.7 Class 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" これをより良い方法で実行する必要がありますか?より良い方法で実施すべきかどうかを説明してください。 DMはクラスDataMixinとC1のインスタンスであるためです
乾杯...