Kaydet (Commit) 4c7b368d authored tarafından Terry Jan Reedy's avatar Terry Jan Reedy Kaydeden (comit) GitHub

[3.6] bpo-30803: clarify truth value testing documentation (GH-2508) (#2946)

Initial patch by Peter Thomassen.
(cherry picked from commit caa1280d)
üst b26cc82b
...@@ -39,31 +39,26 @@ Truth Value Testing ...@@ -39,31 +39,26 @@ Truth Value Testing
single: false single: false
Any object can be tested for truth value, for use in an :keyword:`if` or Any object can be tested for truth value, for use in an :keyword:`if` or
:keyword:`while` condition or as operand of the Boolean operations below. The :keyword:`while` condition or as operand of the Boolean operations below.
following values are considered false:
.. index:: single: None (Built-in object) .. index:: single: true
* ``None``
.. index:: single: False (Built-in object)
* ``False``
* zero of any numeric type, for example, ``0``, ``0.0``, ``0j``.
* any empty sequence, for example, ``''``, ``()``, ``[]``. By default, an object is considered true unless its class defines either a
:meth:`__bool__` method that returns ``False`` or a :meth:`__len__` method that
returns zero, when called with the object. [1]_ Here are most of the built-in
objects considered false:
* any empty mapping, for example, ``{}``. .. index::
single: None (Built-in object)
single: False (Built-in object)
* instances of user-defined classes, if the class defines a :meth:`__bool__` or * constants defined to be false: ``None`` and ``False``.
:meth:`__len__` method, when that method returns the integer zero or
:class:`bool` value ``False``. [1]_
.. index:: single: true * zero of any numeric type: ``0``, ``0.0``, ``0j``, ``Decimal(0)``,
``Fraction(0, 1)``
All other values are considered true --- so objects of many types are always * empty sequences and collections: ``''``, ``()``, ``[]``, ``{}``, ``set()``,
true. ``range(0)``
.. index:: .. index::
operator: or operator: or
......
Clarify doc on truth value testing. Original patch by Peter Thomassen.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment