Python 创建一个动态类,该类继承它所属的类

Python 创建一个动态类,该类继承它所属的类,python,Python,当我试图从父类中创建一个类,以便子类继承“self”时,我得到以下错误: TypeError:调用元类基时出错 元类冲突:派生类的元类必须是其所有基元类的(非严格)子类 class A(object): create_proxy = False def __init__(self, *args, **kwargs): super(A, self).__init__(*args, **kwargs) if self.create_proxy:

当我试图从父类中创建一个类,以便子类继承“self”时,我得到以下错误:

TypeError:调用元类基时出错
元类冲突:派生类的元类必须是其所有基元类的(非严格)子类

class A(object):
    create_proxy = False

    def __init__(self, *args, **kwargs):
        super(A, self).__init__(*args, **kwargs)
        if self.create_proxy:    
            class Proxy(SomeMixin, self):
                pass

            [...]

我相信这是可能的;有什么建议吗?

进行以下更改

...
if self.create_proxy:    
    class Proxy(SomeMixin, A): #use class name instead of self
        pass
...
还要确保
SomeMixin
object
的子类,否则会导致元类冲突

class SomeMixin(object):
    pass


class A(object):
    create_proxy = True #False
    def __init__(self, *args, **kwargs):
        super(A, self).__init__(*args, **kwargs)
        if self.create_proxy:    
            class Proxy(SomeMixin, A):
                pass

a = A() #test

您可能想看看
type()
的三参数形式:这非常有趣。但是,如何将
Meta
类添加到使用
type()
创建的类中?也就是说,
类代理(…):class Meta:Proxy=True
(很抱歉格式化:/)