目次
はじめに
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()
を活用してみてください。