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.2.5
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.)