class DictObj(dict):
def __getattr__(self, key):
value = self[key]
if isinstance(value, dict):
value = DictObj(value)
return value
d = {'a': 1, 'b': {'c': 2}, 'd': ["AA", {'BB': "CC"}]}
c = DictObj(d)
>>> c.a
1
>>> c.b
{'c': 2}
>>> c.b.c
2
>>> c.d
['AA', {'BB': 'CC'}]
>>> c['d']
['AA', {'BB': 'CC'}]
【python 给字典增加通过 点 就可以访问 key的能力】
于 2023-03-22 16:08:37 首次发布
文章介绍了一个名为DictObj的自定义类,该类扩展了Python的内置字典类型。DictObj重写了__getattr__方法,使得当尝试访问字典中的嵌套字典时,会自动将内部字典转换为DictObj实例,从而允许以属性访问的方式操作深层字典结构。
339

被折叠的 条评论
为什么被折叠?



