子类在创建的时候向父类传递信息,__init__subclass__方法

子类在创建的时候向父类传递信息,__init__subclass__方法:
功能:子类在创建的时候,父类会收到子类的值以及所传递的参数。 注意是子类创建的时候,与实例化无关

class A:
    def __init_subclass__(cls, **kwargs):
        print('init_subclass:', cls, kwargs)     # 输出子类,及子类参数

classB(A):
    pass

classC(B):
    pass

# D的传参会被传到父类A
classD(C):
    def __init__(self, name):
        self.name = name

d = D('sidian')
### 输出 ###
init_subclass: <class '__main__.B'> {}
init_subclass: <class '__main__.C'> {}
init_subclass: <class '__main__.D'> {'name': 'sidian'}

 

posted @ 2022-01-19 09:45  宇宙刘  阅读(130)  评论(0)    收藏  举报