python重写__bool__和__len__作用

  1. boollen__和bool相关,在if中会被调用,优先调用__bool,没有就调用__len__

class Test:
    def __bool__(self):
        print('__bool__')
        return False

    def __len__(self):
        print('__len__')
        return True


t = Test()

if t:         # 调用方式1
    print(t)

bool(t)       # 调用方式2


# 结果
'''
__bool__
__bool__
'''
原文地址:https://www.cnblogs.com/amize/p/14662823.html