我正在使用一个返回嵌套字典的包。 当我的类方法以字典语法访问此返回对象时,当其他所有内容都处于对象语法中时,感觉很尴尬。 搜索带来了一堆/ neobunch包,这似乎实现了我后。我还看到了命名建议,但这些并不轻易支持嵌套属性,大多数解决方案都依赖于在名称中使用字典进行嵌套。嵌套字典的对象状属性访问
什么会是更自然的方式来实现这一目标?
data = {'a': 'aval', 'b': {'b1':{'b2a':{'b3a':'b3aval','b3b':'b3bval'},'b2b':'b2bval'}} }
print(data['b']['b1']['b2a']['b3b']) # dictionary access
# print(data.b.b1.b2a.b3b) # desired access
import neobunch
data1 = neobunch.bunchify(data)
print(data1.b.b1.b2a.b3b)
请您详细说明为什么/代码如何工作?谢谢! –
@BartKleijngeld:你不了解哪些部分? – martineau
我不明白字典键如何成为'data1'对象的属性。我觉得我错过了一些非常简单的东西,但如果你能向我解释那部分内容,我将不胜感激:)。 –