我有一个从类类型和传入的内容创建对象的函数。
def create_from(cls, info):
obj = cls.__new__(cls)
obj.load_info(info)
return obj
我__new__
在这里使用的原因是初始化对象所需的参数数量是不确定的。
它适用于我所有的类,除了我继承的类asyncio.Future
。
c = asyncio.Future
c.__new__(c)
将抛出 AttributeError 说: 'Future' 对象没有属性 '_callbacks' 。
我的问题是:
- 有没有更好的方法呢?
- 为什么
__new__
在 asyncio.Future 中会抛出这个错误?在我看来,__new__
应该在不触及任何其他方法的情况下调用。