On Tue, 23 Oct 2007 18:54:06 +0000, mrstephengross wrote: > I've got a Base class with an attribute "foo" (of type Foo), and a > Derived class (derived from Base). In Derived's constructor, I try to > refer to Base.foo, but python complains: > AttributeError: class Base has no attribute 'foo'
Because the class `Base` doesn't have an attribute `foo`. Just believe the error message. :-) > Any ideas? (code below) > > === CODE === > #!/usr/bin/python > > class Foo: > def __init__ (self): > self.x = 3 > > class Base: > def __init__ (self): > self.foo = Foo() `Base` has no `foo` attribute but *instances* of `Base` have. > class Derived(Base): > def __init__(self): > Base.__init__(self) > Base.foo.x = 5 Instances of `Derived` have a `foo` attribute inherited from `Base`. So the last line should be ``self.foo.x = 5``. Ciao, Marc 'BlackJack' Rintsch -- http://mail.python.org/mailman/listinfo/python-list