Pythonのisinstance
関数は、オブジェクトが特定の型または特定のクラスのインスタンスであるかどうかを判定するための便利なツールです。
基本的な使用方法
isinstance
関数の基本的な使用方法は次のとおりです。
isinstance(object, classinfo)
ここで、object
は型を調べたいオブジェクト、classinfo
はクラス名またはクラスを要素とするタプルです。
使用例
以下に、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
関数は、第二引数に型やクラスを要素とした複数の要素を持つタプルを取ることで、オブジェクトがタプルの要素のどれかのインスタンスであるかを判定することが可能です。
また、isinstance
関数と似た関数にtype
関数がありますが、type
関数では、objectのサブクラスの場合はFalseとなるので注意が必要です。そのため、一般的に簡単な判断を行いたい場合にはisinstance
の使用が推奨されます。
以上、Pythonのisinstance
関数の詳細な解説でした。この関数を理解し、適切に使用することで、Pythonプログラミングの幅が広がります。