]> granicus.if.org Git - python/commitdiff
bpo-30969: Fix docs about the comparison in absence of __contains__ (GH-2761)
authorAntti Haapala <antti@haapala.name>
Thu, 30 May 2019 20:19:29 +0000 (23:19 +0300)
committerCheryl Sabella <cheryl.sabella@gmail.com>
Thu, 30 May 2019 20:19:28 +0000 (16:19 -0400)
Doc/reference/expressions.rst

index 52b41929d7bc7cbe9b8bbe6ee0b38445dacea876..8b7110615240ee988c76e668f5e40a2af3b591c4 100644 (file)
@@ -1563,14 +1563,15 @@ y`` returns ``True`` if ``y.__contains__(x)`` returns a true value, and
 ``False`` otherwise.
 
 For user-defined classes which do not define :meth:`__contains__` but do define
-:meth:`__iter__`, ``x in y`` is ``True`` if some value ``z`` with ``x == z`` is
-produced while iterating over ``y``.  If an exception is raised during the
-iteration, it is as if :keyword:`in` raised that exception.
+:meth:`__iter__`, ``x in y`` is ``True`` if some value ``z``, for which the
+expression ``x is z or x == z`` is true, is produced while iterating over ``y``.
+If an exception is raised during the iteration, it is as if :keyword:`in` raised
+that exception.
 
 Lastly, the old-style iteration protocol is tried: if a class defines
 :meth:`__getitem__`, ``x in y`` is ``True`` if and only if there is a non-negative
-integer index *i* such that ``x == y[i]``, and all lower integer indices do not
-raise :exc:`IndexError` exception.  (If any other exception is raised, it is as
+integer index *i* such that ``x is y[i] or x == y[i]``, and no lower integer index
+raises the :exc:`IndexError` exception.  (If any other exception is raised, it is as
 if :keyword:`in` raised that exception).
 
 .. index::