立即学习:https://edu.csdn.net/course/play/19711/255552?utm_source=blogtoedu
1.在Python中存在继承结构,对于父类而言可以获取所有的子类定义,通过“__init_subclass__()”特殊方法实现;
2.实例:
# coding:utf-8 import sys class Run(): def __init__(self): print("Run类构造函数......") def __init_subclass__(cls, **kwargs):#kwargs 可以在子类定义一些固定参数 print("[子类初始化监听]cls=%s" % cls) print("[子类初始化监听]kwargs=%s" % kwargs) Run.kind = kwargs.get("kind") Run.addr = kwargs.get("addr") class Animal(Run, kind="犬类", addr="中国"): def __init__(self): print("Animal类构造函数......") def get_kind(self): print(super().kind) return self.kind if __name__ == '__main__': print("进入主函数!") animal = Animal() print(animal.get_kind())
执行结果:
[子类初始化监听]cls=<class '__main__.Animal'>
[子类初始化监听]kwargs={'kind': '犬类', 'addr': '中国'}
进入主函数!
Animal类构造函数......
犬类
犬类