Rationale behind the deprecation of __getslice__?
Terry Reedy
tjreedy at udel.edu
Thu Dec 9 20:01:00 EST 2004
"Steven Bethard" <steven.bethard at gmail.com> wrote in message
news:kl5ud.167249$5K2.75455 at attbi_s03...
> http://docs.python.org/ref/sequence-methods.html
> __getslice__( self, i, j)
> ...
> Called to implement evaluation of self[i:j].
> ...
> If no __getslice__() is found, a slice object is created instead, and
> passed to __getitem__() instead.
The overwhelmingl most common case of a simple slice is more efficiently
done by having a separate function since no slice object is created.
>>> a=[1,2,3]
>>> def f(): return a[0:1]
...
>>> import dis
>>> dis.dis(f)
0 SET_LINENO 1
3 SET_LINENO 1
6 LOAD_GLOBAL 0 (a)
9 LOAD_CONST 1 (0)
12 LOAD_CONST 2 (1)
15 SLICE+3
16 RETURN_VALUE
Terry J. Reedy
More information about the Python-list
mailing list