From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Wed, 11 Mar 2026 12:58:03 +0000 (+0100) Subject: [3.14] gh-145591: Move slicing note to __getitem__ (GH-145606) (GH-145760) X-Git-Tag: v3.14.4~161 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ca8ca6bb0f5750ed6a4659c4c70b82cd213a0fe7;p=thirdparty%2FPython%2Fcpython.git [3.14] gh-145591: Move slicing note to __getitem__ (GH-145606) (GH-145760) (cherry picked from commit 2114da976c3d85a85283d1a9437bdf8604626be8) Co-authored-by: Ali Towaiji <145403626+Towaiji@users.noreply.github.com> --- diff --git a/Doc/reference/datamodel.rst b/Doc/reference/datamodel.rst index 2587b12918bb..e085acded936 100644 --- a/Doc/reference/datamodel.rst +++ b/Doc/reference/datamodel.rst @@ -3242,21 +3242,6 @@ through the object's keys; for sequences, it should iterate through the values. .. versionadded:: 3.4 -.. index:: pair: object; slice - -.. note:: - - Slicing is done exclusively with the following three methods. A call like :: - - a[1:2] = b - - is translated to :: - - a[slice(1, 2, None)] = b - - and so forth. Missing slice items are always filled in with ``None``. - - .. method:: object.__getitem__(self, subscript) Called to implement *subscription*, that is, ``self[subscript]``. @@ -3279,6 +3264,22 @@ through the object's keys; for sequences, it should iterate through the values. should raise an :exc:`LookupError` or one of its subclasses (:exc:`IndexError` for sequences; :exc:`KeyError` for mappings). + .. index:: pair: object; slice + + .. note:: + + Slicing is handled by :meth:`!__getitem__`, :meth:`~object.__setitem__`, + and :meth:`~object.__delitem__`. + A call like :: + + a[1:2] = b + + is translated to :: + + a[slice(1, 2, None)] = b + + and so forth. Missing slice items are always filled in with ``None``. + .. note:: The sequence iteration protocol (used, for example, in :keyword:`for`