必须明确创建对象的过程: 先创建空对象,执行初始化将属性存储到对象的名称空间中! 所以在__call__函数中必须完成这两步操作,同时将初始化完成的对象返回给调用者 一旦覆盖了__call__函数,就必须自己来完成上述的几个步骤 class MyMate(type): def __call__(self, *args, **kwargs): # 创建空对象 # 调用init # 返回初始化后的对象 obj = object.__new__(self) self.__init__(obj,*arg…