Edu*_*rdo 15 python metaclass python-3.x
我想创建一个类MyClass,其中bool(MyClass)返回False.可能吗?
我希望这个行为与类本身,而不是该类的对象.对于那个班级的对象,我知道我可以return False进入__bool__(self).
Oli*_*çon 30
要定义__bool__类(而不是其实例)使用的方法,您需要修改其类.你通过编写元类来做到这一点.
class FalseMeta(type):
def __bool__(self):
return False
class MyClass(metaclass=FalseMeta):
pass
print(bool(MyClass)) # False
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
846 次 |
| 最近记录: |