Lazy Attribute
Stefan H. Holek
stefan at epy.co.at
Fri Nov 16 07:46:01 EST 2012
On 16.11.2012, at 11:54, Andriy Kornatskyy wrote:
>> Subject: Re: Lazy Attribute
>> From: stefan at epy.co.at
>> Date: Fri, 16 Nov 2012 11:45:32 +0100
>> To: python-list at 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
stefan at epy.co.at
More information about the Python-list
mailing list