組み込み関数

issubclass()

あるクラスが、別のクラスの子クラス(サブクラス)かどうかを判定します。

構文

issubclass(クラス, 親クラス)

使用例

class Animal:
    pass

class Dog(Animal):
    pass

print(issubclass(Dog, Animal))

実行結果

True

💡 実践的な使用例

class Animal:
    pass

class Dog(Animal):
    pass

def describe(cls):
    if issubclass(cls, Animal):
        print(f'{cls.__name__}はAnimalの仲間です')

describe(Dog)

isinstance()が「インスタンスが特定のクラスか」を調べるのに対し、issubclass()は「クラスそのものが特定のクラスの子孫か」を調べる点が違います。

関連トピック

継承 オブジェクト指向 isinstance()

← メソッド辞典に戻る