Objektähnlicher Attributzugriff für verschachteltes Wörterbuch
Ich verwende ein Paket, das ein verschachteltes Wörterbuch zurückgibt. Es fühlt sich umständlich an, mit der Dictionary-Syntax auf dieses Rückgabeobjekt in meinen Klassenmethoden zuzugreifen, wenn sich alles andere in der Objekt-Syntax befindet. Durch die Suche bin ich zu den Bundle- / Neobunch-Paketen gekommen, die das zu erreichen scheinen, wonach ich suche. Ich habe auch angeregte namedtupel gesehen, aber diese unterstützen verschachtelte Attribute nicht leicht und die meisten Lösungen basieren auf der Verwendung von Wörterbüchern innerhalb des namedtupel zum Verschachteln.
Was wäre ein natürlicherer Weg, dies zu erreichen?
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)