Wir Eigenschaften haben, dass die Arbeit über verschachtelte Wörterbücher:Eigenschaften über verschachtelte Wörterbuch
class A(object):
_x = {}
@property
def z(self):
return self._x.get('_y', {}).get('_z')
@z.setter
def z(self, value):
if not self._x.get('_y'):
self._x['_y'] = {}
self._x['_y']['_z'] = value
Wie Eigenschaft erstellen y
von Scheck befreien sich aus:
if not self._x.get('_y'):
self._x['_y'] = {}
z
Setter muss wie schließlich aussehen:
@z.setter
def z(self, value):
self.x.y['_z'] = value
Ich verstehe es nicht wirklich. Vielleicht suchen Sie nach 'defaultdict's aus dem Modul' collections'? – Alfe
@Alfe, schließlich denke ich, ich brauche nur Klasse mit anderen Eigenschaften, anstatt dict. –
Warum warten, bis der Setter aufgerufen wird, '_y' zu setzen? Einfach '_x = {'_y': {}}' initialisieren und damit fertig sein. – chepner