1、子类多重继承时,多个父类之间拥有不同的元类,此时会产生错误。
2、多个父类中涉及的所有元类之间拥有继承关系。
3、自己构建一个元类,继承父类中涉及到的所有元类。
实例
class Meta1(type): def __new__(mcs, *args, **kwargs): return super(Meta1, mcs).__new__(mcs, *args, **kwargs) # 变化部分:Meta2继承Meta1 class Meta2(Meta1): def __new__(mcs, *args, **kwargs): return super(Meta2, mcs).__new__(mcs, *args, **kwargs) class Body(metaclass=Meta1): pass class Head(metaclass=Meta2): pass class Human(Body, Head): pass
以上就是python元类冲突的问题,希望对大家有所帮助。更多Python学习指路:
本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。