[Python] hasattr オブジェクトが特定の属性を持っているか確認

hasattr

オブジェクトが特定の属性を持っているかどうかを調べることができる。

下記の例にもありますが、属性にアクセスする前にチェックすることで例外を発生させたりする用途が一般的かと思います。

使い方

hasattr(属性を調べたいオブジェクト,調べたい属性名)

持っていればTrue

持っていなければFalse

class HasattrTest():
  def __init__(self):
    self.id = 1

hasattr_test = HasattrTest()

print(hasattr(hasattr_test,"id")) 
# True
print(hasattr(hasattr_test,"name"))
# False

print(hasattr_test.id)
# 1
print(hasattr_test.name)
# AttributeError: 'HasattrTest' object has no attribute 'name'