hasattr() 属性の有無

最終更新:2026-09-22

hasattr() 属性の有無

hasattr(obj, name) は obj に name という名前の属性があるかどうかを判定する。

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

📝 構文

hasattr(object, name)

⚙️ 引数

object 必須The object to check for the attribute (any object).
name 必須Attribute name as a string, e.g. 'attr'.

戻り値:A bool: True if the object has the named attribute, otherwise False.

💥 例外

▶ 例

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

実行結果:

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

❓ よくある質問

Qhasattr(obj, 'x') が True を返したら何を意味しますか?
Aobj に x という名前の属性があることを意味します(親クラスから継承したものを含む)。ただし値が None でないことや、呼び出し可能であることは保証されません。
Qhasattr と getattr の違いは何ですか?
Ahasattr は存在するかだけを判定し、ブール値を返します。getattr は値を取り出し、存在しなければ AttributeError を投げます(default を与えない限り)。
Q属性名はハードコードしなければなりませんか?
Aいいえ。hasattr(obj, attr_name) の属性名は変数にできます。オブジェクトの能力を動的に検査する場面に適しています。
Qhasattr でメソッドを検査できますか?
Aできます。メソッドも属性なので、hasattr(obj, 'method_name') は True を返します。callable() と組み合わせると呼び出し可能かまで確認できます。
Web-Tutorial.com

Web-Tutorial 技術チーム

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

100%