5
辞書を「完全に」上書きする方法は?
どうすれば、dictのサブクラスをできるだけ「完璧」にすることができますか?最終的な目標は、キーが小文字である単純な辞書を持つことです。 これを機能させるためにオーバーライドできる小さなプリミティブのセットがあるはずですが、私のすべての研究と試みによれば、そうではないようです: /をオーバーライドする__getitem____setitem__と、get/が機能setしなくなります。どうすればそれらを機能させることができますか?確かに個別に実装する必要はありませんか? 酸洗いが機能しないようにしてい__setstate__ますか?実装する必要がありますか? 私は、DO 必要repr、updateと__init__? 可変マッピングのみを使用する必要がありますUserDict か(またはを使用してはいけないよう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 super(dict, self) …