I am trying to wrap my head around the mechanics of inheritance in Python 3. I thought that all attributes of a superclass were accessible to an instance of a subclass. But when I try the following:
py3: class A: ... def __init__(self): ... self.aa = 'class A' ... py3: class B(A): ... def __init__(self): ... self.bb = 'class B' ... py3: a = A() py3: b = B() py3: b.aa Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'B' object has no attribute 'aa' I am unsuccessful. The only way I have been able to access an attribute aa of class A is to make aa a class variable. Then I succeed: py3: class A: ... aa = 'class A' ... py3: class B(A): ... def __init__(self): ... self.b = 'class B' ... py3: a = A() py3: b = B() py3: b.aa 'class A' Obviously I am horribly misunderstanding something, and being currently sleepy is not helping my cause. Help, please? -- boB _______________________________________________ Tutor maillist - [email protected] To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor
