【Python入門】Pythonのisinstance関数とは?使い方と活用方法を徹底解説(Python 3.11)

Python

はじめに

Pythonには型を判定するための便利な関数 isinstance() があります。本記事では、 isinstance() の基本的な使い方から応用例までを初心者向けにわかりやすく解説します。

isinstance関数とは?

isinstance() 関数は、あるオブジェクトが指定したクラス(または型)のインスタンスであるかを判定するためのPython組み込み関数です。データ型のチェックやエラーハンドリングなど、さまざまな場面で活用できます。

isinstance関数の基本構文

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

isinstance(object, classinfo)<br>
  • object:型を判定したいオブジェクト
  • classinfo:判定対象の型(単一またはタプルで複数指定可能)
  • 戻り値は True(一致する場合)または False(一致しない場合)

isinstance関数の使用例

例1:基本的な型判定

num = 10
print(isinstance(num, int))  # True

例2:複数の型を指定

value = 3.14
print(isinstance(value, (int, float)))  # True

例3:カスタムクラスの判定

class Animal:
    pass

class Dog(Animal):
    pass

dog = Dog()
print(isinstance(dog, Dog))     # True
print(isinstance(dog, Animal))  # True(継承関係を判定)

isinstance関数の応用例

例4:型に応じた処理の分岐

def process_data(data):
    if isinstance(data, int):
        return data * 2
    elif isinstance(data, str):
        return data.upper()
    else:
        return "Unsupported type"

print(process_data(5))      # 10
print(process_data("hello")) # HELLO

例5:リスト内のデータ型をチェック

def filter_integers(lst):
    return [x for x in lst if isinstance(x, int)]

mixed_list = [1, "apple", 3.5, 10, "banana"]
print(filter_integers(mixed_list))  # [1, 10]

まとめ

isinstance() 関数は、オブジェクトの型を判定するための非常に便利な関数です。基本的な使い方だけでなく、型に応じた処理の分岐やデータフィルタリングなど、さまざまな応用が可能です。Pythonの型チェックを効率的に行いたい場合には、ぜひ isinstance() を活用してみてください。