0
我々は性質を持っている、ネストされた辞書を超えるという仕事:プロパティ
if not self._x.get('_y'):
self._x['_y'] = {}
z
セッターは最終的にのようになります:チェックからオフに取り除くためにプロパティy
を作成する方法
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
@z.setter
def z(self, value):
self.x.y['_z'] = value
私は本当に理解していません。おそらく、 'collections'モジュールから' defaultdict'を探していますか? – Alfe
@Alfeは、私が思うに、私はちょうどdictの代わりに、他のプロパティを持つクラスが必要です。 –
なぜ '_y'を入れるためにsetterが呼び出されるまで待つのですか? '_x = {'_y':{}}'を初期化するだけで完了します。 – chepner