私は__getattribute__
クラスのために再実装しています。
__getattribute__
誤った (もちろん、失敗が予想されることを意味します) 属性の提供の失敗 (実装が非常に複雑であることが判明したため) に注意したいと思います。そのために、コードが発生する直前に属性を検索/提供できなかった場合、警告を記録しAttributeError
ます
私は知っています:
__getattribute__
実装はできるだけ小さくすることをお勧めします。__getattribute__
実装が呼び出された方法/理由に基づいて異なる動作をすることは、間違っていると見なされます。try/except
を使用する代わりに、属性にアクセスするコードを使用することもできますhasattr
。
TL;DR : それにもかかわらず、 (属性にアクセスする「本物の」試みとは対照的に) が原因で への呼び出し__getattribute__
が行われたかどうかを検出したいと思います。hasattr