Véase la sección 5.1:
http://docs.python.org/library/stdtypes.html
Cualquier objeto puede ser probado para valor de verdad, para uso en un si o mientras condición o como operando de las operaciones booleanas de abajo. Los siguientes valores se consideran falsa:
None
False
cero de cualquier tipo numérico, por ejemplo, 0
, 0L
, 0.0
, 0j
.
cualquier secuencia vacía, por ejemplo, ''
, ()
, []
.
cualquier asignación vacía, por ejemplo, {}
.
instancias de clases definidas por el usuario, si la clase define un método __nonzero__()
o __len__()
, cuando ese método devuelve el número cero o el valor. [1]
Todos los demás valores se consideran verdaderos, por lo que los objetos de muchos tipos siempre son verdaderos.
Operaciones y funciones incorporadas que tienen un resultado booleano siempre vuelven 0
o False
por falsa y 1
o True
por cierto, a menos que se indique lo contrario. (Excepción importante: las operaciones booleanas or
y and
siempre devuelven uno de sus operandos)
¿Por qué lo preguntas? –