Как перегрузить метод __bool__ Python?

Возможный дубликат:
определение «boolness» класса в python

Я думал, что это должно напечатать «False», почему он печатает «Правда»?

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

One Solution collect form web for “Как перегрузить метод __bool__ Python?”

Вы должны определить __nonzero__() в Python 2.x. Он был переименован только в __bool__() в Python 3.x. (Имя __nonzero__() фактически предшествует внедрению типа bool на многие годы.)

Python - лучший язык программирования в мире.