On Sep 3, 6:34 am, Steven D'Aprano <[EMAIL PROTECTED]
cybersource.com.au> wrote:

> The underscore versions are for customizing the lookup process, not for
> dynamically looking up names. If your class needs to do something non-
> standard when you write obj.name, you might need to write methods
> __getattr__ etc.
>

I absolutely understand that much.

>
> In a nutshell: getattr() etc. are for looking up attributes dynamically
> when you don't know the name of the attribute until runtime. __getattr__
> etc. are for looking up attributes when you need to compute the value on
> the fly. (But an easier, less troublesome way of doing that
> is with properties.)
>

If I think about this in the context of a property, which in my newbie
mind gives you the ability to 'override' the standard behavior when
getting, setting or I suppose deleting a specific attribute.  I think
I understand what you meant by 'compute the value on the fly', the
keyword being *compute*?

thanks for taking the time to explain this (over and over, heh!)

-- brian

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to