【发布时间】:2020-04-29 14:51:43
【问题描述】:
我的项目中有一个嵌套的字典,它是通过 PrettyPrint 打印的(只需将嵌套的字典扔进去)。
但是这个嵌套的dict必须被嵌套的MutableMapping对象替换,因为我需要覆盖一些MagicMethods。 但是因为它现在是一个对象,所以它只是获取第一个键并打印出来,该值是一个 my_dict 对象。
我现在如何 PrettyPrint 这样一个带有 dict 属性的 MutableMapping 对象?
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。
【问题讨论】:
标签: python python-3.6 pretty-print