Python でオブジェクトがどのようになるかを調べているのは何よりも好奇心のためであり、メソッド解決の順序にたどり着きました。
Python では、Cl
ベースwhen を持つクラスは、 を含むBa
属性 を持ちます。メタクラスは を定義できます。これにより、定義時に含まれる子クラスのカスタム タプルが提供されます。__mro__
(<class 'Cl'>, <class 'Ba'>, <class 'object'>)
mro()
__mro__
Cでは、私が理解できることから、この割り当てはによって処理されmro_internal
ますが、それがどこから呼び出されたのかわかりません。検索しても、テストでそれへの参照が見つかるだけです。
これをより実行可能な質問として表現するには; 「実行時にインスタンスの MRO を再定義するにはどうすればよいですか?」