Can't refer to base class attribute?
Marc 'BlackJack' Rintsch
bj_666 at gmx.net
Tue Oct 23 15:15:47 EDT 2007
More information about the Python-list mailing list
Tue Oct 23 15:15:47 EDT 2007
- Previous message (by thread): Root element name not declared
- Next message (by thread): Can't refer to base class attribute?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
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
- Previous message (by thread): Root element name not declared
- Next message (by thread): Can't refer to base class attribute?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list