str method magic len getitem data __eq__ python methods overloading magic-methods

len - magic methods python



¿Cómo sobrecargar el método__bool__ de Python? (1)

Posible duplicado:
definiendo "boolness" de una clase en python

Pensé que esto debería imprimir "Falso", ¿por qué está imprimiendo "Verdadero"?

>>> class Foo(object): ... def __bool__(self): ... return False ... >>> f = Foo() >>> if f: ... print "True" ... else: ... print "False" ... True >>>


Debe definir __nonzero__() en Python 2.x. Solo se renombró a __bool__() en Python 3.x. (El nombre __nonzero__() realidad es anterior a la introducción del tipo bool por muchos años).