# 这段代码引起了一个NoneType的错误,没有search到解决办法。
class
PeoplemataClass(type): def __new__(cls, *args, **kwargs): print(cls) print(*args) print(**kwargs) class man(dict, metaclass=PeoplemataClass): def __init__(self): super(man, self).__init__() class boy(man): def __init__(self): super(boy, self).__init__()

python-继承_Python

 

 

 

原因:元类PeoplemetaClass动态构造类的new函数里面没有return返回类对象。

 

解决办法:

class PeoplemataClass(type):
    def __new__(cls, *args, **kwargs):
        print(cls)
        print(*args)
        print(**kwargs)
        return type.__new__(cls, *args, **kwargs)

class man(dict, metaclass=PeoplemataClass):
    def __init__(self):
        super(man, self).__init__()

class liman(man):
    def __init__(self):
        super(liman, self).__init__()