私はこのコードを持っています:
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 つのスライス要素を持つタプルが得られると思っていました。