首页 > 解决方案 > 如何调整一个类的 __dict__ 以便在使用 type() 时在另一个类中工作?TypeError:描述符不适用

问题描述

我想动态地创建一个继承类,例如一个 Mixin。

就像是

class A(object):
    def __init__(self):
        print('A', self.__dict__)


class B(object):
    def __init__(self):
        print('B', self.__dict__)

F = type('C', (B,), A.__dict__.copy())
F()

但这会引发错误:

TypeError: descriptor '__dict__' for 'A' objects doesn't apply to 'C' object

有没有办法修改 的某个“所有者”属性__dict__,可能将其分离或其他方式来解决这个问题?

标签: pythonpython-3.x

解决方案


推荐阅读