lazy properties?
Stefan H. Holek
stefan at epy.co.at
Fri Nov 2 04:36:11 EDT 2012
On 01.11.2012, at 22:38, Andrea Crotti wrote:
> Seeing the wonderful "lazy val" in Scala I thought that I should try to get the following also in Python.
> The problem is that I often have this pattern in my code:
>
> class Sample:
> def __init__(self):
> self._var = None
>
> @property
> def var(self):
> if self._var is None:
> self._var = long_computation()
> else:
> return self._var
>
>
> which is quite useful when you have some expensive attribute to compute that is not going to change.
> I was trying to generalize it in a @lazy_property but my attempts so far failed, any help on how I could do that?
There is a ready made and well tested lazy decorator at http://pypi.python.org/pypi/lazy
Stefan
--
Stefan H. Holek
stefan at epy.co.at
More information about the Python-list
mailing list