__setslice__
è deprecato - ti consigliamo di utilizzare __setitem__
con un argomento slice.
Si noti che, per il Python documentation, fette può essere fatto solo nelle seguenti forme sintattiche: a[i:j:step]
, a[i:j, k:l]
o a[..., i:j]
. La sintassi basata sui due punti viene utilizzata per definire un singolo oggetto slice, ma come mostra il secondo esempio è possibile avere più argomenti slice (vengono passati come una tupla di slice).
Ecco un esempio che stampa l'argomento key
, per vedere la sua forma:
>>> class Foo(object):
>>> def __setitem__(self, key, value):
>>> print key
>>>
>>> a = Foo()
>>> a[1:1] = 1
slice(1, 1, None)
>>>
>>> a[1:1:1] = 1
slice(1, 1, 1)
>>>
>>> a[1:1, 1:1] = 1
(slice(1, 1, None), slice(1, 1, None))
Quali quattro argomenti vuoi passare? – cyroxx