Automatic Generation of Python Class Files
Marc 'BlackJack' Rintsch
bj_666 at gmx.net
Tue Oct 23 03:35:50 EDT 2007
On Mon, 22 Oct 2007 17:31:51 -0600, Steven Bethard wrote:
> Bruno Desthuilliers wrote:
>> Computed attributes are IMHO not only a life-saver when it comes to
>> refactoring. There are cases where you *really* have - by 'design' I'd
>> say - the semantic of a property, but know from the start you'll need
>> computation (for whatever reason). Then what would be the rationale for
>> using explicit getters/setters ?
>
> I'd be interested to hear what these use cases are.
Stupid little example: A circle object with `radius` and `diameter`
attributes. It doesn't make sense to store both a as normal attributes
because they will eventually get out of sync. One can be implemented as a
property.
Another one is delegation of attribute access. I'm thinking of a wrapper
class around an object with an attribute, say `is_active`, and a wrapper
that has a property with the same name that returns the value of the
wrapped objects attribute.
Or lazy computation of an attribute. Breaks expectations for the first
access -- long calculation for simple attribute access -- but meets it for
every subsequent access.
Ciao,
Marc 'BlackJack' Rintsch
More information about the Python-list
mailing list