issubclass() クラス継承チェック
最終更新:2026-09-22
issubclass() クラス継承チェック
issubclass(cls, classinfo) は cls が classinfo のサブクラスかどうかを判定する。
| カテゴリ | 組み込み関数 |
|---|---|
| 種類 | 組み込み関数 |
| Python バージョン | all |
📝 構文
issubclass(class, classinfo)
⚙️ 引数
| class 必須 | The class to check. |
|---|---|
| classinfo 必須 | A class or tuple of classes; True if class is a subclass. |
戻り値:True if class is a subclass of classinfo (or any type in it).
💥 例外
TypeError— Raised when classinfo is not a class or a tuple of classes.
▶ 例
下のコードを編集し「実行」をクリックすると、出力パネルに結果が表示されます:
実行結果:
True
False
🏷️ 関連する組み込み関数
💡 関連するケース
さらに多くのケースは近日公開予定です。
❓ よくある質問
Qissubclass(B, A) と isinstance(b, A) の違いは何ですか?
Aissubclass はクラス同士の継承関係を比較します。isinstance はインスタンスとクラスを比較します。b = B() の場合、isinstance(b, A) は True を返します。
Qissubclass(A, A) は何を返しますか?
ATrue を返します。どんなクラスも自身のサブクラスです。
Q第1引数にインスタンスを渡すとどうなりますか?
ATypeError になります。issubclass はクラスしか受け付けません。インスタンスを調べたい場合は isinstance を使います。
Q複数の基底クラスを一度に検査するには?
A第2引数にタプルを渡します:issubclass(B, (A, C))。いずれかのサブクラスなら True を返します。