return val

def __setitem__(self, key, val):
    print('SET', key, val)
dict.__setitem__(self, key, val)

def __repr__(self):
    dictrepr = dict.__repr__(self)
return '%s(%s)' % (type(self).__name__, dictrepr)

def update(self, *args, **kwargs):
    print('update', args, kwargs)
for k, v in dict(*args, **kwargs).items():
    self[k] = v
Как правильно создать подкласс dict и переопределить __getitem__ и __setitem__