Pythonのドキュメントでは、__getattr__
関数について次のように述べています。
属性が通常のメカニズムで見つかった場合、__getattr__() は呼び出されないことに注意してください。(これは __getattr__() と __setattr__() の間の意図的な非対称性です。) これは、効率上の理由と、そうでなければ __getattr__() がインスタンスの他の属性にアクセスする方法がないためです。
最後のステートメントを理解するのに問題があります。
インスタンスの他の属性にアクセスする方法はありません
他の属性にアクセスする方法がないというのは、具体的にどのようなことでしょうか? (無限再帰と関係があると思いますが、インスタンス属性にアクセスする他の方法はありませんself.__dict__
か?)