Python isinstance() ビルトイン関数

Python 3 ドキュメントより

object 引数が classinfo 引数のクラスのインスタンスである場合、またはその (直接的、間接的、または仮想的な) サブクラスである場合に True を返します。object が指定された型のオブジェクトでない場合、この関数は常に False を返します。classinfo が型オブジェクトのタプル (または再帰的に、他のそのようなタプル) または複数の型の Union Type である場合、object がそれらの型のいずれかのインスタンスであれば True を返します。classinfo が型または型のタプルおよびそのようなタプルでない場合、TypeError 例外が発生します。

導入

isinstance() 関数は、オブジェクトが特定のクラスまたはそのサブクラスのインスタンスであるかどうかをチェックします。オブジェクトが指定された型であれば True を返し、そうでなければ False を返します。

型のタプルに対してチェックすることもできます。

オブジェクトの型をチェックする:

my_list = [1, 2, 3]
print(isinstance(my_list, list))
print(isinstance(my_list, tuple))
True
False

複数の型に対してチェックする:

print(isinstance("hello", (int, str, list)))
True
isinstance(1, int)
isinstance(1, str)
True
False

関連リンク