[Tutor] subclass not inheriting attributes?

Wayne Werner waynejwerner at gmail.com
Tue Jan 4 02:13:50 CET 2011


On Mon, Jan 3, 2011 at 6:47 PM, Alex Hall <mehgcap at gmail.com> wrote:

> Hi all,
> I have a solitaire game in which I use a "Pile" class. This class is
> meant to hold a bunch of cards, so I subclass it for the deck, the ace
> stacks, and the seven main stacks, defining rules and methods for each
> but also relying on the parent Pile class's methods and attributes.
> However, I keep getting an error that an attribute in the parent does
> not exist in the child. Below is a simplified example, but it gives me
> the exact same error: child object has no attribute l.
>
> class parent(object):
>  def __init__(self, l=None):
>  if l is None: l=[]
>
> class child(parent):
>  def __init__(self, *args, **kwords):
>  super(parent, self).__init__(*args, **kwords)
>  self.l.append(5)
>
> c=child()
> print c.l
>
> Again, I get an error saying that 'child' object has no attribute 'l'.
> Python 2.7 on win7x64. Thanks.


Try

p = parent()
p.l

Does that do what you expected?

HTH,
Wayne
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20110103/cd5e481c/attachment.html>


More information about the Tutor mailing list