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