類布林值
Python 2.x <= 2.7
在 Python 2 中,如果要自己定義類的布林值,則需要在類上實現 __nonzero__
方法。預設情況下,該值為 True。
class MyClass:
def __nonzero__(self):
return False
my_instance = MyClass()
print bool(MyClass) # True
print bool(my_instance) # False
Python 3.x >= 3.0
在 Python 3 中,使用 __bool__
而不是 __nonzero__
class MyClass:
def __bool__(self):
return False
my_instance = MyClass()
print(bool(MyClass)) # True
print(bool(my_instance)) # False