I don't think the tuple name is working as you expect. I don't know of any reason to redefine "__getitem__()" the way you have done:
>>> class MyTuple(tuple): ... pass ... >>> data = (1,2,3,4,5) >>> t = MyTuple(data) >>> t[0] 1 >>> tuple <type 'tuple'> >>> tuple.__getitem__ <slot wrapper '__getitem__' of 'tuple' objects> >>> tuple.__getitem__(0) Traceback (most recent call last): File "<stdin>", line 1, in ? TypeError: descriptor '__getitem__' requires a 'tuple' object but received a 'int' On Tuesday 21 December 2004 09:41 am, VanL wrote: > Hello, > > Why is this? > > >>> class MyTuple(tuple): > > ... def __getitem__(self, name): > ... return tuple.__getitem__(self, name) > ... > > >>> data = (1,2,3,4,5) > >>> t = MyTuple(data) > >>> t[0] > > Traceback (most recent call last): > File "<stdin>", line 1, in ? > File "<stdin>", line 3, in __getitem__ > TypeError: descriptor '__getitem__' requires a 'tuple' object but > received a 'int' > > Thanks, > > VL -- James Stroud, Ph.D. UCLA-DOE Institute for Genomics and Proteomics 611 Charles E. Young Dr. S. MBI 205, UCLA 951570 Los Angeles CA 90095-1570 http://www.jamesstroud.com/ -- http://mail.python.org/mailman/listinfo/python-list