On Wed, 24 Aug 2005 03:34:36 -0700, tooper wrote: > Hello all, > > I'm trying to implement a common behavior for some object that can be > read from a DB or (when out of network) from an XML extract of this DB. > I've then wrote 2 classes, one reading from XML & the other from the > DB, both inheritating from a common one where I want to implement > several common methods. > Doing this, I've come to some behaviour I can't explain to myself, > which I've reproduced in the example bellow : > > ----- > > class myfather: > def __repr__(self): > return "\t a="+self.a+"\n\t b="+self.b > > class mychilda(myfather): > def __init__(self,a): > self.a= a > def __getattr__(self,name): > return "Undefined for mychilda" > > class mychildb(myfather): > def __init__(self,b): > self.b= b > def __getattr__(self,name): > return "Undefined for mychildb" > > a= mychilda("a") > b= mychildb("b") > > print "a:\n"+str(a) > print "b:\n"+str(b) > > ----- > > I was expecting to get : > > a: > a= a > b= Undefined for mychilda > b: > a= Undefined for mychildb > b= b > > but I get the following error : > > File "/home/thierry/mytest.py", line 20, in ? > print "a:\n"+str(a) > TypeError: 'str' object is not callable > > Could someone explain me what I missed ? > > Thanks in advance !
try new style classes. class myfather(object): see http://users.rcn.com/python/download/Descriptor.htm HTH Arjen -- http://mail.python.org/mailman/listinfo/python-list