1

MROは、クラス階層で属性が見つかる順序である ことを理解しています。

myInstance.foo のように属性「foo」を使用すると、MRO で最初に見つかった foo が使用されます。
そして、検索は通常停止します。

ここで、 bar() が を利用するとしsuper()ます。
MRO の次の基本インスタンスを返すためsuper()、myInstance.bar() はその階層チェーン内のすべての bar() を呼び出します。

すべてのスーパー クラスの bar() が super().bar() も呼び出す場合
、MRO が指定する順序で bar() が呼び出されます。

それらを正しく理解していますか?

4

1 に答える 1