Очень хотелось бы получить возможность ленивой инициализации для любого атрибута класса.
Подскажите, пожалуйста, простое и эффективное решение.
value
^value ifNil: [value := self valueCalculation]
class LazyInit(object):
def __init__(self):
self._foo = None
@property
def foo(self):
if not self._foo:
self._foo = "init"
return self._foo