作用: 为了将类的实例对象变为可调用对象(相当于重载()运算符)
- 函数本身可以被调用
def func(): pass class class_test(): def __init__(self): pass print(callable(func)) print(callable(class_test)) # 输出 True True
- 类本身可以被调用,主要用作生成实例化对象
class class_test(): def __init__(self): pass print(callable(class_test)) # 输出 True
- 类的实例化对象无法被调用
class class_test(): def __init__(self): pass a = class_test() print(callable(a)) # 输出 False
- 通过增加__callable__()函数,将类实例化对象变为可调用
class class_test(): def __init__(self): pass def __call__(self): pass a = class_test() print(callable(a)) # 输出 True