Why is __getslice__ still implemented?
Steven Bethard
steven.bethard at gmail.com
Tue Apr 10 10:35:56 EDT 2007
Torsten Bronger wrote:
> Hallöchen!
>
> According to <http://docs.python.org/ref/sequence-methods.html>,
> __getslice__ is deprecated. At the moment, I derive an own class
> from unicode and want to implement my own slicing. I found that I
> have to override __getslice__ since __getitem__ isn't called when I
> have something like my_instance[a:b] in my code.
>
> According to
> <news:mailman.7438.1102640455.5135.python-list at python.org>, this may
> have efficiency reasons, however, I agree with
> news:1102645919.114898.139820 at f14g2000cwb.googlegroups.com that this
> is quite confusing. It forces people to implement a deprecated
> function after all. I think the docs should say that you still have
> to override __getslice__ when subclassing from a built-in type,
> unless I really don't understand the issue correctly.
Yes, you do still need to implement __getslice__ if you're subclassing
a class (like unicode or list) which provides it. The __getslice__
method can't be removed entirely for backwards compatibility reasons
(though it is being removed in Python 3000). If you have a specific
suggestion for what doc should be updated and how, that would be
helpful. Please post it to:
http://sourceforge.net/tracker/?group_id=5470&atid=105470
(It doesn't need to be a real patch. Plain text is fine as long as you
indicate where in the documentation it needs to go.)
Steve
More information about the Python-list
mailing list