Python 組み込み関数 issubclass()

Python 3 ドキュメントより

class が classinfo のサブクラス(直接的、間接的、または仮想的)である場合に True を返します。クラスはそれ自体のサブクラスと見なされます。classinfo はクラスオブジェクトのタプル(または再帰的に他のそのようなタプル)または Union Type にすることができ、その場合、class が classinfo のいずれかのエントリのサブクラスであれば True を返します。それ以外の場合は、TypeError 例外が発生します。

Introduction

Python の issubclass() 関数は、指定されたクラスが別のクラスまたはクラスのタプルのサブクラスであるかどうかをチェックする組み込み関数です。最初の引数が 2 番目の引数のサブクラスである場合に True を返し、そうでない場合は False を返します。この関数はオブジェクト指向プログラミングにおいて、クラス間の関係を確認し、継承に基づいてポリモーフィックな動作を実装するのに役立ちます。

Examples

class First:
    pass

class Second(First):
    pass

print(issubclass(Second, First))
print(issubclass(First, Second))
True
False