On 16.11.2012, at 11:54, Andriy Kornatskyy wrote: >> Subject: Re: Lazy Attribute >> From: ste...@epy.co.at >> Date: Fri, 16 Nov 2012 11:45:32 +0100 >> To: python-list@python.org >> >> On 16.11.2012, at 11:29, Steven D'Aprano wrote: >> >>> I'm very vaguely leaning towards this as the least-worst solution to >>> invalidating the cached value: >>> >>> refresh(obj, 'attr') # pass the instance and the name >> >> This it exactly how lazy handles invalidation. >> http://lazy.readthedocs.org/en/latest/ > > @property is a solution to evaluate something that is dynamic. @attribute is > good for immutable objects. Even if we assume refresh is a good idea... how I > would know when it is valid to `refresh`? What is criteria? > > Andriy
I had to implement invalidation anyway in order to write tests. I decided to expose the mechanism to keep users from having to invent their own SHOULD the need arise. I was not advocating invalidation in any way with my reply. All I wanted was to confirm the "least bad" solution. ;-) Stefan -- Stefan H. Holek ste...@epy.co.at -- http://mail.python.org/mailman/listinfo/python-list