У меня был вложенный dict в моем проекте, который был напечатан через PrettyPrint (просто добавьте в него вложенный dict).
Но этот вложенный dict пришлось заменить вложенными объектами MutableMapping, потому что мне нужно было переписать некоторые MagicMethods. Но поскольку теперь это объект, он просто берет первый ключ и печатает, что значение является объектом my_dict.
Как мне теперь PrettyPrint получить такой объект MutableMapping с атрибутом dict?
class my_dict(collections.abc.MutableMapping):
def __init__(self):
print("dict was created")
self.d = dict() # var where I want to store my key/values
def __setitem__(self, key, value):
# do sth else
print("Dict Element was set: Key:\t{}, Value:\t{}".format(key, value))
self.d[key] = value
return
def __getitem__(self, key):
# do sth else
print("Item was requested")
return self.d[key]
def __delitem__(self, key):
del self.d[key]
def __iter__(self):
return self.d.__iter__()
def __len__(self):
return len(self.d)
def sd(self, k, d):
if k not in self:
self[k] = d
return self[k]
Я использую Python 3,6.