作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我想创建一个类 MyClass
,其中 bool(MyClass)
返回 False
。可能吗?
我希望类本身具有这种行为,而不是该类的对象。对于该类的对象,我知道我可以在 __bool__(self)
中返回 False
。
最佳答案
要定义一个类使用的__bool__
方法,而不是它的实例,您需要修改它的 类。您可以通过编写 metaclass 来做到这一点.
class FalseMeta(type):
def __bool__(self):
return False
class MyClass(metaclass=FalseMeta):
pass
print(bool(MyClass)) # False
关于python - 使用 bool(TheClassItself) 返回 False 的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50555232/
我想创建一个类 MyClass,其中 bool(MyClass) 返回 False。可能吗? 我希望类本身具有这种行为,而不是该类的对象。对于该类的对象,我知道我可以在 __bool__(self)
我是一名优秀的程序员,十分优秀!