我有一个从dict
类继承的类。在下面的示例中,我用默认值定义了两个键“x”和“x2”
class myClass(dict):
def __init__(self,*arg,**kw):
super(myClass, self).__init__(*arg, **kw)
self['x']=2
self['x2']=self['x']*self['x']
我希望它们以某种方式链接,这样如果我修改'x'
,'x2'
被x*x
更新,如果我修改'x2'
,那么'x'
被更新为sqrt(x)
我发现了一篇文章,解释了类属性的解决方案:In class object, how to auto update attributes?
但是,我找不到一种方法来扭曲这个示例,使其适用于字典键。有人知道怎么做吗
谢谢
对于子类,建议使用来自
collections.UserDict
的子类,而不是dict
。使用UsedDict,所有内容都存储在data
变量中Manual pages here对于所需的功能,您可以重新定义
__setitem__
特殊方法:输出:
相关问题 更多 >
编程相关推荐