Hi all, Further to my questions about overriding builtin methods earlier, how would I make a class able to be accessed and changed using index notation? For example, take the following: deck=CardPile(52) #creates a new deck of cards print(len(deck)) #prints 52, thanks to my __len__ function for c in deck: print c #also works thanks to __iter__ print(deck[4]) #fails with a list index out of range error How would I get the last one working? I tried __getattr__(self, i), but it did not work. I want to be able to get an arbitrary item from the "pile" of cards (which can be a deck, a hand, whatever), and/or set an element. A "pile" is just a list of Card objects, so I would only need to use sequence indexing, not mapping functions.
-- 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