【发布时间】:2016-04-06 00:50:05
【问题描述】:
如何将字典的引用设置为类属性的一部分,即使在其值更新后?
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'
如何保持对字典的属性引用,一旦新数据到达,字典就会不断更新其值?
【问题讨论】:
标签: python class dictionary reference attributes