Pythonで、指定した属性(attribute)を持っているかどうか調べる

Pythonで、指定した属性(attribute)を持っているかどうか調べる


 hasattr( オブジェクト,"属性名")
 持っていればTrue、さもなくばFalseが返ってくる。

 if hasattr( obj, "detail" ):

      detail = obj.detail

  これ属性が動的に変わるオブジェクトには、これやっとかないと、AttributeError: 'xxx' object has no attribute 'yyy'みたいなエラーが出る。
 なければ空文字列が返る、とかのほうが使い勝手がいいような気がするが、そこはきっと私にはうかがい知れない深い事情があるのだろう。