Python 创建一个动态类,该类继承它所属的类
当我试图从父类中创建一个类,以便子类继承“self”时,我得到以下错误: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:
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
(很抱歉格式化:/)