]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-145591: Move slicing note to __getitem__ (GH-145606)
authorAli Towaiji <145403626+Towaiji@users.noreply.github.com>
Tue, 10 Mar 2026 15:48:41 +0000 (11:48 -0400)
committerGitHub <noreply@github.com>
Tue, 10 Mar 2026 15:48:41 +0000 (16:48 +0100)
Doc/reference/datamodel.rst

index cf5a0e71a104ebfb1b11a22a9162666c1cad1cb0..062d301f6286f76fbd1ed081487221cfc936277c 100644 (file)
@@ -3223,21 +3223,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]``.
@@ -3260,6 +3245,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`