#3803: fix docs for comparison of unequal types.

This commit is contained in:
Georg Brandl 2008-09-09 19:31:57 +00:00
parent 7cd67cc992
commit 9609cea044
1 changed files with 7 additions and 10 deletions

View File

@ -1003,16 +1003,13 @@ pretty).
The operators ``<``, ``>``, ``==``, ``>=``, ``<=``, and ``!=`` compare the The operators ``<``, ``>``, ``==``, ``>=``, ``<=``, and ``!=`` compare the
values of two objects. The objects need not have the same type. If both are values of two objects. The objects need not have the same type. If both are
numbers, they are converted to a common type. Otherwise, objects of different numbers, they are converted to a common type. Otherwise, the ``==`` and ``!=``
types *always* compare unequal, and are ordered consistently but arbitrarily. operators *always* consider objects of different types to be unequal, while the
You can control comparison behavior of objects of non-builtin types by defining ``<``, ``>``, ``>=`` and ``<=`` operators raise a :exc:`TypeError` when
a :meth:`__cmp__` method or rich comparison methods like :meth:`__gt__`, comparing objects of different types that do not implement these operators for
described in section :ref:`specialnames`. the given pair of types. You can control comparison behavior of objects of
non-builtin types by defining rich comparison methods like :meth:`__gt__`,
(This unusual definition of comparison was used to simplify the definition of described in section :ref:`customization`.
operations like sorting and the :keyword:`in` and :keyword:`not in` operators.
In the future, the comparison rules for objects of different types are likely to
change.)
Comparison of objects of the same type depends on the type: Comparison of objects of the same type depends on the type: