GNU Info

Info Node: (python2.1-lib.info)Truth Value Testing

(python2.1-lib.info)Truth Value Testing


Next: Boolean Operations Prev: Built-in Types Up: Built-in Types
Enter node , (file) or (file)node

Truth Value Testing
-------------------

Any object can be tested for truth value, for use in an `if' or `while'
condition or as operand of the Boolean operations below.  The following
values are considered false:

   * `None'

   * zero of any numeric type, for example, `0', `0L', `0.0', `0j'.

   * any empty sequence, for example, `''', `()', `[]'.

   * any empty mapping, for example, `{}'.

   * instances of user-defined classes, if the class defines a
     `__nonzero__()' or `__len__()' method, when that method returns
     zero.(1)


All other values are considered true -- so objects of many types are
always true.

Operations and built-in functions that have a Boolean result always
return `0' for false and `1' for true, unless otherwise stated.
(Important exception: the Boolean operations `or'  and `and'  always
return one of their operands.)

---------- Footnotes ----------

(1) Additional information on these special methods may be found in the
.


automatically generated by info2www version 1.2.2.9