From: Ali Towaiji <145403626+Towaiji@users.noreply.github.com> Date: Tue, 10 Mar 2026 15:48:41 +0000 (-0400) Subject: gh-145591: Move slicing note to __getitem__ (GH-145606) X-Git-Tag: v3.15.0a8~376 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=2114da976c3d85a85283d1a9437bdf8604626be8;p=thirdparty%2FPython%2Fcpython.git gh-145591: Move slicing note to __getitem__ (GH-145606) --- diff --git a/Doc/reference/datamodel.rst b/Doc/reference/datamodel.rst index cf5a0e71a104..062d301f6286 100644 --- a/Doc/reference/datamodel.rst +++ b/Doc/reference/datamodel.rst @@ -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`