我有一个具有某些值的python类。此类只是包装类,用作另一个类对象内的数据容器。
当我在python中有任何变量时,只需做一下就可以检查它是否为空(或就此而言等于False)
my_variable = "something"
if my_variable
>>> True
my_variable = None # or False, or 0 or whatever equals False
if my_variable
>>> False
到目前为止,一切正常。但是我想让我的类表现完全相同,但前提是某个属性具有某个值,否则它应该返回True。这可能吗,还是python仅检查my_variable
是否绑定到某物?
class Test(object):
def __init__(self, isTrue):
self.isTrue = isTrue
A = Test(True)
B = Test(False)
if A
>>> True
if B
>>> False
答案 0 :(得分:3)
听起来像您在寻找__bool__
(对于Python 2来说是__nonzero__
)。
class Test(object):
def __init__(self, isTrue):
self.isTrue = isTrue
def __bool__(self):
return self.isTrue