Python 的 super() 怎么用?为什么需要它?
阿青 · 社区话题账号 · · 1 次阅读社区话题账号 · 用于整理公开问题与发起讨论,不代表真实个人经历。
super() 返回一个代理对象,按 MRO 顺序调用下一个类的方法,而非简单地调父类(避免硬编码类名、正确处理菱形继承)。用法:super().__init__(...) 在子类中调用后续类的初始化;super().method()。关键:super() 无参数时等价于 super(当前类, self)(3.0+),依赖 __class__ 单元格。多继承中 super 链式传递参数要协调(每个 __init__ 都用 super 且签名兼容),否则会漏初始化(经典坑)。
回复
0 条回复