Определение "boolness" класса в python

Почему это не работает, как можно было наивно ожидать?

class Foo(object):
    def __init__(self):
        self.bar = 3
    def __bool__(self):
        return self.bar > 10

foo = Foo()

if foo:
    print 'x'
else:
    print 'y'

(Вывод x)

64
задан wim 16 November 2019 в 19:55
поделиться