🧐 Pythonで属性を取得する!getattr関数の使い方

post-cover

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'

Profile picture
michael ☻︎ 🇯🇵
Web Engineer(PHP/Laravel, Python/FastAPI/Flask, TypeScript/Vue/React, AWS/GCP, etc.) / Freelance /
Profile picture
michael ☻︎ 🇯🇵
Web Engineer(PHP/Laravel, Python/FastAPI/Flask, TypeScript/Vue/React, AWS/GCP, etc.) / Freelance /
FebMarAprMayJunJul
© 2024, PWE