【发布时间】:2013-07-13 02:16:44
【问题描述】:
我知道MRO 是在类层次结构中找到属性的顺序。
如果我在 myInstance.foo 中使用属性“foo”,则将使用在 MRO 中找到的第一个 foo。
并且查找通常会停止。
现在,假设 bar() 使用 super()。
由于super() 返回 MRO 中的下一个基本实例,myInstance.bar() 将调用其层次结构链中的所有 bar()。
如果所有超类的 bar() 也调用 super().bar(),
bar() 将按照 MRO 指定的顺序调用。
我理解正确吗?
【问题讨论】:
标签: python multiple-inheritance super method-resolution-order