[Tutor] Class Attribute "Overloading?"
vincent.gulinao at gmail.com
Wed Aug 15 20:59:20 CEST 2007
Sorry about that. I want something like:
self.attr1 = None
if not self.attr1:
attr1 = <get value from DB, very expensive query>
self.attr1 = attr1
foo_instance = foo()
gets the same value.
Such that you get to derive attr1 only as needed and just once, both outside
and within foo class.
Or is it a bad idea or just plain ugly to do something like that? If it is,
kindly suggest better approach.
On 8/16/07, bob gailer <bgailer at alum.rpi.edu> wrote:
> Vincent Gulinao wrote:
> > Sorry, I just started experimenting on Python classes...
> > Is there any way a reference to a class attribute
> > ([class].[attribute]) be treated like a method ([class].[method]())?
> Attributes are objects. A method is an object. If you want to know
> something more specific, please rephrase the question.
> I for one don't really know what you want.
> > I have a class with DB component. Some of its attributes are derived
> > from DB and I find it impractical to derive all at once upon __init__.
> > Of course we can use dictionary-like syntax ([class]["[attribute]"])
> > and use __getitem__, checking for existence and None of the attribute
> > before deriving the value from the DB. But I think [class].[attribute]
> > is more conventional (Is it?). Or someone suggest a more Pythonic way.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Tutor