Thought I'm not sure (and don't have time to test) I'd guess it's because you haven't explicitly called the __init__ method chain.
i.e., B calls A, C calls B, etc. This is probably where the actual data gets pulled into scope. On Wed, 2005-07-27 at 12:44 +0530, km wrote: > Hi all, > > In the following code why am i not able to access class A's object attribute > - 'a' ? I wishto extent class D with all the attributes of its base classes. > how do i do that ? > > thanks in advance for enlightment ... > > here's the snippet > > #!/usr/bin/python > > class A(object): > def __init__(self): > self.a = 1 > > class B(object): > def __init__(self): > self.b = 2 > > class C(object): > def __init__(self): > self.c = 3 > > class D(B, A, C): > def __init__(self): > self.d = 4 > super(D, self).__init__() > > if __name__ == '__main__': > x = D() > print x.a # errs with - AttributeError > -- http://mail.python.org/mailman/listinfo/python-list