我想创建一个类MyClass
,其中bool(MyClass)
返回False
。有可能吗?
我想要类本身的这种行为,而不是该类的对象。对于该类的对象,我知道我可以在__bool__(self)
中使用return False
。
发布于 2018-05-28 02:28:21
要定义类使用的__bool__
方法,而不是它的实例,需要修改它的类。您可以通过编写metaclass来实现这一点。
class FalseMeta(type):
def __bool__(self):
return False
class MyClass(metaclass=FalseMeta):
pass
print(bool(MyClass)) # False
https://stackoverflow.com/questions/50555232
复制相似问题