我有一个问题,我在测试期间也找不到答案。 方法 pos 和 neg 对我不起作用。
假设我们有一个简单的类:
class Test:
def __init__(self,
param=False):
self.param = param
if __name__ == '__main__':
c = Test()
if c: # which Python magic method is invoked here?
print("OK")
else:
print("Nok")
现在,我想重写在执行语句时调用的魔术方法:
如果c:
但是我不知道哪个?请征求意见。
答案 0 :(得分:2)
__bool__()
(如果已定义
参见https://docs.python.org/3/library/stdtypes.html
默认情况下,对象解析为True