\

Pythonの組み込み関数であるisinstanceは、オブジェクトが特定の型またはクラスのインスタンスであるかどうかを判定するために使用されます。この関数は、オブジェクトの型を確認することでコードの可読性を高め、予期せぬエラーを防ぐ役割を果たします。

基本的な使い方

isinstance関数の基本的な構文は以下の通りです。

isinstance(object, classinfo)

ここで、objectは型を調べたいオブジェクト、classinfoはクラス名またはクラスを要素とするタプルです。この関数はobjectclassinfoのインスタンスである場合、Trueを返し、そうでない場合はFalseを返します。

型判定の例

以下に、isinstance関数を使用した具体的な型判定の例を示します。

プリミティブ型の判定例

num = 5
if isinstance(num, int):
    print("numは整数型です")
else:
    print("numは整数型ではありません")

イテレータ型の判定例

my_list = [1, 2, 3]
if isinstance(my_list, list):
    print("my_listはリスト型です")
else:
    print("my_listはリスト型ではありません")

クラス型の判定例

class Dog:
    pass

my_dog = Dog()
if isinstance(my_dog, Dog):
    print("my_dogはDogクラスのインスタンスです")
else:
    print("my_dogはDogクラスのインスタンスではありません")

注意点

isinstance関数の第二引数classinfoには、単一のクラスだけでなく、複数のクラスをタプルとして渡すことも可能です。オブジェクトがタプルの要素のいずれかのインスタンスであるかを判定できます。

また、isinstance関数と似た関数にtype関数がありますが、type関数では、オブジェクトがサブクラスの場合はFalseとなるので注意が必要です。そのため、一般的に簡単な判断を行いたい場合にはisinstanceの使用が推奨されます。.

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です