Pythonのisinstance
関数は、指定したオブジェクトが指定した型またはクラスのインスタンスであるかどうかを確認するための関数です。具体的には、isinstance
関数は2つの引数を受け取り、最初の引数が2番目の引数のインスタンスである場合はTrueを、そうでない場合はFalseを返します。
def process_data(data):
if isinstance(data, list):
total = sum(data)
return total
else:
return "Invalid input data"
data1 = [10, 20, 30, 40, 50]
data2 = "This is not a list"
result1 = process_data(data1)
result2 = process_data(data2)
print(result1) # 150
print(result2) # Invalid input data
上記のサンプルコードでは、isinstance
関数を使用して、引数data
がリスト型であるかどうかを判定しています。data
がリスト型であれば、その合計値が返され、そうでなければ”Invalid input data”が返されます。
また、isinstance
関数は、第二引数に型やクラスを要素とした複数の要素を持つtupleを取ることで、オブジェクトがtupleの要素のどれかのインスタンスであるかを判定することが可能です。
isinstance
関数とtype
関数の違いについても触れておきましょう。isinstance
関数は継承関係を考慮して型をチェックするのに対し、type
関数はオブジェクトの型そのものを返す関数なので、サブクラスまで考慮したい場合はisinstance
関数を使うのが良いです。
以上がPythonのisinstance
関数についての説明です。この関数は、オブジェクトの型を判定する際に非常に便利なツールであり、Pythonプログラミングにおいて頻繁に使用されます。.