Truth Value Testing -- Python library reference
Next: Boolean Operations
Prev: Types
Up: Types
Top: Top
2.1.1. 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, e.g.,
0
, 0L
, 0.0
.
- any empty sequence, e.g.,
''
, ()
, []
.
- any empty mapping, e.g.,
{}
.
- instances of user-defined classes, if the class defines a
__nonzero__()
or __len__()
method, when that
method returns zero.
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.)
Next: Boolean Operations
Prev: Types
Up: Types
Top: Top