我有这个(Py2.7.2)字典值:暴露通过属性
class MyClass(object):
def __init__(self, dict_values):
self.values = dict_values
self.changed_values = {} #this should track changes done to the values{}
....
我可以这样使用它:
var = MyClass()
var.values['age'] = 21
var.changed_values['age'] = 21
但我想用这样的:
var.age = 21
print var.changed_values #prints {'age':21}
我怀疑我可以使用属性来做到这一点,但如何?
UPDATE:
我不知道在设计时的字典内容。它仅在运行时才会被知道。并且它可能不是空的
'changed_values'有什么用?它与“价值”有什么不同?这是给你的吗? – delnan
简单 - 我想看看究竟发生了什么变化。是的,它可以用一个键列表代替,但这不是问题的关键。 – AlexVhr
我的意思是,如何看待'values'的键不适合你?是否从'changed_values'中删除了项目,并且'changed_values'中的值是否从'values'中的当前值改变了? – delnan