isinstance() 型チェック

最終更新:2026-09-22

isinstance() 型チェック

isinstance(obj, classinfo) は obj が classinfo のインスタンス(またはそのサブクラスのインスタンス)かどうかを判定する。classinfo はタプルでもよい。

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

📝 構文

isinstance(object, classinfo)

⚙️ 引数

object 必須The object to check.
classinfo 必須A type, or a tuple of types (union check).

戻り値:True if object is an instance of classinfo (or any type in it).

💥 例外

▶ 例

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

実行結果:

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

❓ よくある質問

Qisinstance(x, int) と type(x) == int の違いは何ですか?
Aisinstance は継承関係を考慮します(サブクラスのインスタンスでも True)。type(x) == int は型が完全に一致することを要求します。通常は isinstance のほうが柔軟です。
Qisinstance(True, int) は何を返しますか?
ATrue を返します。bool は int のサブクラスだからです。ブールと整数を区別したい場合は、type(x) is bool を追加で確認します。
Q第2引数に複数の型を渡せますか?
A渡せます。タプルを渡します:isinstance(x, (int, float)) はいずれか一致で True になります。classinfo が型や型のタプルでない場合は TypeError になります。
Qisinstance でインターフェースや抽象型を検査できますか?
Aできます。抽象基底クラスで動作します。例:isinstance(x, Iterable) や isinstance(x, collections.abc.Sequence)。具体的な型を調べるより堅牢です。
Web-Tutorial.com

Web-Tutorial 技術チーム

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

100%