getattr()
objectの指名された属性の値を返します。
任意のオブジェクトから指定した名前の属性の値を取得します。指定された属性がない場合はデフォルトの値を渡しておくことでその値を返します。
また、nameは文字列である必要があります。
文字列がオブジェクトの属性の一つの名前であった場合は、戻り値はその属性の値になります。
例えば、getattr(x, ‘foobar’)は、x.foobarと等価になります。
指名された属性が存在しない場合は、defaultであれば、それが返され、そうでない場合には、AttributeErrorが送出されます。
使用例
r = range(3)
stop = getattr(r, 'stop')
print(stop)
# 実行結果 3
length = getattr(r, 'length', len(r))
print(length)
# 実行結果 3
length = getattr(r, 'length')
print(length)
# 実行結果 AttributeError: 'range' object has no attribute 'length'