无法更新字典

Cannot update dictionary

我有一个 dict_ class 试图复制内置字典 class。

这里是class(new函数returns原对象):

class dict_:
    def __init__(self, *args, **kwargs):
        self.kv = kwargs

        if not self.kv:
            for kv in args:
                for k, v in kv:
                    self.kv.update({k: v})

    def __str__(self):
        return "%s" % self.kv

    def __getitem__(self, item):
        return self.kv[item]

    def update(self, *args):
        self.kv.update(args)

我是这样称呼它的:

from Dodger.dodger import *

term = new(System())
a = new(dict_(a=1, b=2))
a.update(new(dict_(c=3)))
term.println(a)

这应该将 a 修改为 {"a": 1, "b": 2, "c": 3} 但它却给我这个错误:

Traceback (most recent call last):
  File "C:/free_time/Dodger/dodger_test.py", line 5, in <module>
  File "C:\free_time\Dodger\dodger.py", line 176, in update
  File "C:\free_time\Dodger\dodger.py", line 173, in __getitem__
KeyError: 0

为什么会报KeyError? 0是什么意思? (我正在使用 python 3.8.2)

我想出了解决这个问题的方法。我也只需要实施 __setitem__

def __setitem__(self, key, value):
    """Set self[key] to value"""
    self.kv[key] = value