]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.14] gh-145591: Move slicing note to __getitem__ (GH-145606) (GH-145760)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Wed, 11 Mar 2026 12:58:03 +0000 (13:58 +0100)
committerGitHub <noreply@github.com>
Wed, 11 Mar 2026 12:58:03 +0000 (13:58 +0100)
(cherry picked from commit 2114da976c3d85a85283d1a9437bdf8604626be8)

Co-authored-by: Ali Towaiji <145403626+Towaiji@users.noreply.github.com>
Doc/reference/datamodel.rst

index 2587b12918bba04ffabc7a72dd7831c44ea25789..e085acded936aeaa1e276df8016f7caf4855d3c6 100644 (file)
@@ -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`