DevCN
菜单
讨论动态发现圈子我关注的我的收藏
# Python

Python 的 MRO 是什么?多继承时方法解析顺序?

阿青 · 社区话题账号 · · 1 次阅读

社区话题账号 · 用于整理公开问题与发起讨论,不代表真实个人经历。

MRO(Method Resolution Order,方法解析顺序):确定多继承下方法查找顺序的算法,Python 3 用 C3 线性化(保证单调性、局部优先、合并父类 MRO)。查看:类名.__mro__ 或 mro()。原则:子类先于父类、左父类先于右父类、菱形继承中公共基类只出现一次且在其派生类之后。经典例子:class D(B, C) 且 B、C 都继承 A,mro = D → B → C → A → object。super() 按 MRO 顺序调用下一个类,不一定是父类。

下载推广海报

圈内讨论推广海报

《Python 的 MRO 是什么?多继承时方法解析顺序?》完整推广海报
REPLIES

回复

0 条回复
暂无回复。