getattr 関数について
getattr は、Pythonの組み込み関数で、指定されたオブジェクトから属性の値を取得する。もし属性が存在しない場合は、任意で指定されたデフォルトの値を返すか、デフォルトが指定されていない場合はAttributeError を発生させる。
使い方
getattr(object, name[, default])
例
>>> class Person:
... name = 'John'
...
>>> person = Person
>>> person
<class '__main__.Person'>
>>> person.name
'John'
>>>
>>> getattr(person, 'name', 'taro')
'John'
>>>
>>> getattr(person, 'age', 20)
20
>>>
デフォルトを設定しない場合
>>> getattr(person, 'age')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: type object 'Person' has no attribute 'age'
>>>
>>>
>>> try:
... getattr(person, 'age')
... except AttributeError as e:
... print('エラー発生')
... print(e)
...
エラー発生
type object 'Person' has no attribute 'age'