重写自定义类的 bool() 方法

11 浏览
0 Comments

重写自定义类的 bool() 方法

我只希望bool(myInstance)返回False(并且当myInstance在条件语句中如if/or/and时,它被评估为False)。我知道如何覆盖>,<,=。

我尝试了以下代码:

class test:
    def __bool__(self):
        return False
myInst = test()
print bool(myInst) #输出"True"
print myInst.__bool__() #输出"False"

有什么建议吗?

(我正在使用Python 2.6)

0