5
如何“完美”地覆盖字典?
如何使dict的子类尽可能“完美” ?最终目标是要有一个简单的字典,其中的键是小写的。 似乎应该覆盖一些微小的原语才能完成这项工作,但是根据我的所有研究和尝试,似乎并非如此: 如果我覆盖__getitem__/__setitem__,则get/ set不起作用。如何使它们工作?当然,我不需要单独实施它们吗? 我是否在阻止酸洗,我需要实施__setstate__等吗? 我是否需要repr,update以及__init__? 我应该只使用mutablemapping(似乎不应该使用UserDict or DictMixin)吗?如果是这样,怎么办?这些文档并不完全具有启发性。 这是我的第一个尝试,get()不起作用,毫无疑问,还有许多其他小问题: class arbitrary_dict(dict): """A dictionary that applies an arbitrary key-altering function before accessing the keys.""" def __keytransform__(self, key): return key # Overridden methods. List from # /programming/2390827/how-to-properly-subclass-dict def __init__(self, *args, **kwargs): self.update(*args, **kwargs) # Note: I'm using dict directly, since …