Tuple Question

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • VanL

    #1

    Tuple Question


    Hello,

    Why is this?
    [color=blue][color=green][color=darkred]
    >>> class MyTuple(tuple):[/color][/color][/color]
    .... def __getitem__(sel f, name):
    .... return tuple.__getitem __(self, name)
    ....[color=blue][color=green][color=darkred]
    >>> data = (1,2,3,4,5)
    >>> t = MyTuple(data)
    >>> t[0][/color][/color][/color]
    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

  • Steven Bethard

    #2
    Re: Tuple Question

    VanL wrote:[color=blue]
    > Why is this?
    >[color=green][color=darkred]
    > >>> class MyTuple(tuple):[/color][/color]
    > ... def __getitem__(sel f, name):
    > ... return tuple.__getitem __(self, name)
    > ...[color=green][color=darkred]
    > >>> data = (1,2,3,4,5)
    > >>> t = MyTuple(data)
    > >>> t[0][/color][/color]
    > 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'[/color]

    What Python are you using? On Python 2.4:
    [color=blue][color=green][color=darkred]
    >>> class MyTuple(tuple):[/color][/color][/color]
    .... def __getitem__(sel f, name):
    .... return tuple.__getitem __(self, name)
    ....[color=blue][color=green][color=darkred]
    >>> data = (1,2,3,4,5)
    >>> t = MyTuple(data)
    >>> t[0][/color][/color][/color]
    1

    Steve

    Comment

    • Lonnie Princehouse

      #3
      Re: Tuple Question

      > Why is this?
      It should work. Are you using an old version of Python?

      Comment

      Working...