Declarative properties
Bruno Desthuilliers
bdesth.quelquechose at free.quelquepart.fr
Mon Oct 8 07:25:35 EDT 2007
Dan Stromberg a écrit :
> On Fri, 12 Oct 2007 09:42:28 +0200, Bruno Desthuilliers wrote:
>
>
>>>>So what? Otherwise you carry *always* the baggage of a public
>>>>property and a private attribute whether you need this or not. At
>>>>least for me it would be unnecessary in most cases.
>>>
>>>That "baggage" of carrying around "unneeded" methods is something the
>>>computer carries for you - IE, no big deal in 99.99% of all cases.
>>
>>1/ Accessing the value of a property is not free. Accessing a plain
>>attribute is much cheaper.
>
>
> Python's current performance characteristics have no bearing on what is
> good software engineering practice in general,
Neither useless complexity nor tryig to apply inappropriate idioms are
good practices.
(snip)
> I'm not omniscient, and neither is anyone else; when one initially codes a
> class, one doesn't know to what purposes it will need to be bent in the
> future; using accessor methods instead of exposed attributes is
> significantly more flexible for the future of your class.
Please remember that Python has support for computed attributes (you do
know what's a computed attribute, don't you ?), so you can turn a plain
attribute into a computed one at any time without breakink the API. IOW,
you don't need getters/setter a priori.
More information about the Python-list
mailing list