VI
Хочу описать объект, который будет содержать список других объектов при этом как-то уменьшить объём кода при его описании.
class Item():
# ...
def AddTo(self, list):
list.append(self)
return self
class Holder():
items: Item = []
# ...
def AddItem(self, item: Item):
self.items.append(item)
pass
class CustomHolder(Holder):
# Цель в том, чтобы i1 и i2 попали в items
def DeclareContents_1(self):
# громоздко и можно не уследить за добавлением
i1 = Item("anything")
i2 = Item("anotherthing")
self.AddItem(i1)
self.AddItem(i2)
pass
def DeclareContents_2(self):
# Не сильно лучше
i1 = Item("anything").AddTo(self)
i2 = Item("anotherthing").AddTo(self)
pass
def DeclareContents_3(self):
# Как такое реализовать? Поможет ли?
# @whatever
i1 = Item("anything")
i2 = Item("anotherthing")
pass
Может быть есть какой-то паттерн или workaround?

