Inheritance problem ?
db
duikboot at localhost.localdomain
Wed Aug 24 07:40:48 EDT 2005
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
More information about the Python-list
mailing list