Tuple Question

James Stroud jstroud at mbi.ucla.edu
Tue Dec 21 13:19:29 EST 2004


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/



More information about the Python-list mailing list