On 1/3/11, Wayne Werner <waynejwer...@gmail.com> wrote: > On Mon, Jan 3, 2011 at 6:47 PM, Alex Hall <mehg...@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=[] Walter was right, and I changed it to if l is None: self.l=[] else: self.l=l It did not get rid of the error, though. >> >> 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? Yes, I get [], just as I should. So the question is: if the parent class is working, why would a class that inherits it not have the l attribute? > > HTH, > Wayne >
-- Have a great day, Alex (msg sent from GMail website) mehg...@gmail.com; http://www.facebook.com/mehgcap _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor