lazy properties?
Ian Kelly
ian.g.kelly at gmail.com
Thu Nov 1 17:52:17 EDT 2012
More information about the Python-list mailing list
Thu Nov 1 17:52:17 EDT 2012
- Previous message (by thread): lazy properties?
- Next message (by thread): lazy properties?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Thu, Nov 1, 2012 at 3:38 PM, Andrea Crotti <andrea.crotti.0 at gmail.com> wrote: > What I would like to write is > @lazy_property > def var_lazy(self): > return long_computation() > > and this should imply that the long_computation is called only once.. If you're using Python 3.2+, then functools.lru_cache probably suffices for your needs. @property @functools.lru_cache() def var_lazy(self): return long_computation() If you really need to shorten that to a single declaration: def lazy_property(func): return property(functools.lru_cache()(func))
- Previous message (by thread): lazy properties?
- Next message (by thread): lazy properties?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list