getattr() オブジェクトの属性を取得

最終更新:2026-09-22

getattr() オブジェクトの属性を取得

getattr(obj, name[, default]) は obj の属性 name を返す。存在しない場合は default を返す(そうでなければ AttributeError を送出)。

カテゴリ組み込み関数
種類組み込み関数
Python バージョンall

📝 構文

getattr(object, name[, default])

⚙️ 引数

object 必須The object to read the attribute from.
name 必須The attribute name as a string.
default 任意Value returned if the attribute is missing.(デフォルト値:None)

戻り値:The attribute value, or default if the attribute is missing.

💥 例外

▶ 例

下のコードを編集し「実行」をクリックすると、出力パネルに結果が表示されます:

実行結果:

10
default
さらに多くのケースは近日公開予定です。

❓ よくある質問

Qgetattr(obj, 'x', 'default') と obj.x の違いは何ですか?
A属性が存在すれば結果は同じです。存在しない場合、getattr は 'default' を返しますが、obj.x は直接 AttributeError を投げます。
Qどのような場面で getattr が必須ですか?
A属性名が動的に算出される(変数・設定・文字列連結などから来る)場合、getattr(obj, attr_name) は点構文では置き換えられません。
Qgetattr と hasattr はどう組み合わせますか?
Ahasattr(obj, 'x') で確認してから getattr(obj, 'x') を使うこともできますが、より簡潔には getattr(obj, 'x', None) が一歩で済みます。
Qdefault を省略して属性が存在しないとどうなりますか?
AAttributeError を投げます。name が文字列でない場合は TypeError になります。
Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%