On 2017-02-22 20:53, boB Stepp wrote:
On Wed, Feb 22, 2017 at 10:25 PM, boB Stepp <robertvst...@gmail.com> wrote:
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 'attribute(s)' to which you refer only exist because of the __init__s. B's __init__ over rides that of A so A's __init__ never gets called during instantiation of b and hence b.aa never comes into being.

_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor

Reply via email to