[Tutor] access class through indexing?
mehgcap at gmail.com
Thu Aug 5 05:23:58 CEST 2010
On 8/4/10, Dave Angel <davea at ieee.org> wrote:
> Alex Hall wrote:
>> On 8/4/10, Evert Rol <evert.rol at gmail.com> wrote:
>>> That depends how you create the Pile of 52 cards: list(52) also doesn't
>>> generate 52 (random) items.
>>> If you override __init__ to accept an integer that generates the cards
>>> you, this should work.
>> Here is my init, not half as pretty as yours, but it should work.
>> Maybe this will explain the problem.
>> def __init__(self, size, cards=None, fill=False):
>> #creates a pile of cards. If "fill"==true, it will auto-fill the
>> pile starting from the Ace of Clubs up through the King of Spades,
>> stopping if it exceeds the size arg.
>> #if the cards arg is not null, it will populate the pile with the
>> cards in the list.
>> if fill: #auto-fill, useful to generate a new, unshuffled deck
>> for i in range(1, 14):
>> for j in range(1, 5):
>> self.append(Card(i, j))
>> #end for
>> #end for
>> self=self[:size] #keep only the amount specified
>> elif cards is not None: #fill the pile with the cards
>> for c in cards:
>> #end for
>> #end if
>> #end def __init__
> You have two serious problems here, and maybe others, I didn't keep looking.
> Since you never call super(), the init of the base class never happens.
> It may happen to work, since you're apparently willing to take its
> default behavior, but I don't know. But even worse, you never even talk
> to your own object. The first parameter to __init__() is a ref to the
> actual object you're supposed to be initializing, and you immediately
> overwrite it (self) with another object. As a result, everything else
> you do in that method is thrown out when the method returns. Remove
> that line
> self = 
That makes sense, and doing so has fixed everything. I am still not
clear on the whole super() thing; I saw it in another project and
tried to find out about it, but what I found was very confusing, and
super() did not seem terribly important, so I did not pursue the
matter further. Apparently it is important...
Have a great day,
Alex (msg sent from GMail website)
mehgcap at gmail.com; http://www.facebook.com/mehgcap
More information about the Tutor