1、当子类多重继承时,多个父类之间有不同的元类,此时会出错。
2、多个父类涉及的所有元类都有继承关系。
3、建立自己的元类,继承父类涉及的所有元类。
实例
clasmetaclassmeta1(type): def__new__(mcs,*args,**kwargs): returnsuper(Meta1,mcs).__new__(mcs,*args,**kwargs) #变化:Meta2继承Meta1 classmeta2(Meta1): def__new__(mcs,*args,**kwargs): returnsuper(Meta2,mcs).__new__(mcs,*args,**kwargs) classBody(metaclass=Meta1): pass classHead(metaclass=Meta2): pass classHuman(Body,Head): pass
以上就是python元类冲突的问题,希望对大家有所帮助。更多Python学习指导:python基础教程
本文教程操作环境:windows7系统Python 3.9.1,DELL G3电脑。