![]() |
Re: lazy properties?
On Thu, Nov 1, 2012 at 3:38 PM, Andrea Crotti <andrea.crotti.0@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)) |
Re: lazy properties?
> If you're using Python 3.2+, then functools.lru_cache probably
> ... And if you're on 2.X, you can grab lru_cache from http://code.activestate.com/recipes/...he-decorators/ |
Re: lazy properties?
> If you're using Python 3.2+, then functools.lru_cache probably
> ... And if you're on 2.X, you can grab lru_cache from http://code.activestate.com/recipes/...he-decorators/ |
| All times are GMT. The time now is 05:00 PM. |
Powered by vBulletin®. Copyright ©2000 - 2013, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.