The __nonzero__ method
__nonzero__(self)
Called to implement truth value testing, and the built-in operation
bool; should return False or True, or their integer
equivalents 0 or 1. When this method is not defined,
__len__ is called, if it is defined. If a class
defines neither __len__ nor
__nonzero__, all its instances are considered
true.