首页 > 文章列表 > python元类冲突的问题

python元类冲突的问题

Python 元类
258 2022-08-07

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

本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。