From efc73db5de529eef83d7889396c934c5a87664fb Mon Sep 17 00:00:00 2001 From: Raymond Hettinger Date: Thu, 21 Dec 2023 15:54:59 -0600 Subject: [PATCH] gh-113313: Note that slice support is not required for all sequences. (gh-113377) (cherry picked from commit 6a5b4736e548fc5827c3bcf1a14193f77e1a989d) Co-authored-by: Raymond Hettinger --- Doc/reference/datamodel.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Doc/reference/datamodel.rst b/Doc/reference/datamodel.rst index 224bb053aac422..bbdff00c8d965f 100644 --- a/Doc/reference/datamodel.rst +++ b/Doc/reference/datamodel.rst @@ -2803,9 +2803,9 @@ through the object's keys; for sequences, it should iterate through the values. .. method:: object.__getitem__(self, key) Called to implement evaluation of ``self[key]``. For :term:`sequence` types, - the accepted keys should be integers and slice objects. Note that the - special interpretation of negative indexes (if the class wishes to emulate a - :term:`sequence` type) is up to the :meth:`__getitem__` method. If *key* is + the accepted keys should be integers. Optionally, they may support + :class:`slice` objects as well. Negative index support is also optional. + If *key* is of an inappropriate type, :exc:`TypeError` may be raised; if *key* is a value outside the set of indexes for the sequence (after any special interpretation of negative values), :exc:`IndexError` should be raised. For