0

私はこのコードを持っています:

class Foo(object):
     def __getitem__(self, *args):
        print len(args), type(args)
        print args

これはargsタプルとして与えます:

>>> x[1:]
1 <type 'tuple'>
(slice(1, None, None),)

しかし、これは args をタプルのタプルとして与えます:

>>> x[1:,2:,3:]
1 <type 'tuple'>
((slice(1, None, None), slice(2, None, None), slice(3, None, None)),)

なんでそうなの?最後の例では、3 つのスライス要素を持つタプルが得られると思っていました。

4

1 に答える 1