0
ディクショナリへの参照を値が更新された後でもクラス属性の一部として設定するにはどうすればよいですか?dictをクラス属性として参照
live = {'APPL': {'bid': 41, 'ask': 43}}
extras = {'name': 'apple', 'country': 'us', 'currency': 'usd'}
class myClass:
def __init__(self, live_data, extra_data):
self.__dict__ = live_data
self.__dict__.update(extra_data)
def update(self, extra_data):
self.__dict__.update(extra_data)
symbol = myClass(live['APPL'], extras)
変数 'live'が更新された場合、すべて正常に機能します。
変数 'extras'が更新された場合、インスタンス属性はその参照を失います。
辞書データを更新中...
live['APPL']['bid'] = 40
live['APPL'].update({'ask': 44})
extras['country'] = 'uk'
extras.update({'currency': 'gbp'})
インスタンス '記号は、' 適切にを更新し続ける辞書に属性の参照を保持する方法
In: symbol.bid
Out: 40
In: symbol.ask
Out: 44
In: symbol.country
Out: 'us'
In: symbol.currency
Out: 'usd'
を更新しません。新しいデータが到着するとすぐに値が返されますか?
それは完璧に働いたが、すべての呼び出しにこの方法を使用すると、周りに前作よりも大幅に遅くなりました。 '1ループあたり1.24μsと164ns /ループ 'このコードは1秒間に数回実行されるため、クラス属性がdict項目への参照を維持できるようにするアイデアや提案は歓迎します。 – user5404669