__init__
的作用是初始化某个类的一个实例。
__call__
的作用是使实例能够像函数一样被调用。
类文件MyClass.py
class ClassA:
def __init__(self, a):
self.a = a
print('__call__ with ({})'.format(self.a))
def __call__(self, b):
return ClassB(b)
class ClassB:
def __init__(self, a):
self.a = a
print('__call__ with ({})'.format(self.a))
运行文件
from MyClass import ClassA
A = ClassA(0)
B = A(1)
结果