我想创建一个可以扩展 dict 功能的类。到目前为止,这是我的代码:
class Masks(dict):
def __init__(self, positive=[], negative=[]):
self['positive'] = positive
self['negative'] = negative
我想在构造函数中有两个预定义的参数:正负掩码列表。当我执行以下代码时,我可以运行
m = Masks()
并创建了一个新的 mask-dictionary 对象 - 这很好。但我希望能够像使用 dicts 一样创建这个遮罩对象:
d = dict(one=1, two=2)
但是这对面具失败了:
>>> n = Masks(one=1, two=2)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: __init__() got an unexpected keyword argument 'two'
我应该在 Masks的某个地方调用父构造函数init 。初始化可能。我尝试了它**kwargs
并将它们传递给父构造函数,但仍然 - 出了点问题。有人可以指出我应该在这里添加什么吗?