Декоратор, очень быстрое кэширующее property
class cache_property(object):
'''
Декоратор, очень быстрое кэширующее property
'''
def __init__(self, f):
self.f = f
def __get__(self, instance, owner):
value = self.f(instance)
setattr(instance, self.f.__name__, value)
return value