logo

Python isinstance() 関数

Python isinstance() 関数は、指定されたオブジェクトがそのクラスのインスタンスであるかどうかを確認するために使用されます。オブジェクトがクラスに属している場合は、True を返します。それ以外の場合は False を返します。クラスがサブクラスの場合も true を返します。

isinstance() 関数は、object と classinfo の 2 つの引数を受け取り、True または False を返します。関数のシグネチャを以下に示します。

構文:

 isinstance(object, classinfo) 

パラメーター

物体: これは、string、int、float、long、またはカスタム型のオブジェクトです。

クラス情報: クラス名。

戻る

True または False のブール値を返します。

isinstance() 関数の機能を理解するために、関数の例をいくつか見てみましょう。

Python Isinstance() の例:

isinstance() 関数を使用して、さまざまな変数が個別のデータ型またはクラスのインスタンスであるかどうかを確認します。

1. 整数

コード

xdxdとはどういう意味ですか
 # Check if an integer is an int n = 100 print(isinstance(n, int)) 

出力:

 True 

2.フロート

コード

 # Check if a float is a float pi = 3.14159 print(isinstance(pi, float)) 

出力:

 True 

3. 文字列

コード

Javaのプログラム
 # Check if a string is a string name = 'Johnny' print(isinstance(name, str)) 

出力:

 True 

4. リスト

コード

 # Check if a list is a list colours = ['blue', 'black', 'brown'] print(isinstance(colours, list)) 

出力:

 True 

5. 辞書

コード

 # Check if a dictionary is a dict person = {'name': 'Ayan', 'age': 30} print(isinstance(person, dict)) 

出力:

 True 

6.タプル

コード

 # Check if a tuple is a tuple point = (1, 5) print(isinstance(point, tuple)) 

出力:

 True 

7.セット

コード

 # Check if a set is a set digits = {1, 2, 3, 4,5,6,7,8} print(isinstance(digits, set)) 

出力:

 True 

8. クラス

コード

 # Check if a custom class instance is an instance of that class class Bike: pass my_bike = Bike() print(isinstance(my_bike, Bike)) 

出力:

es5 と es6
 True 

isinstance() 関数の機能を理解するために、さらにいくつかの例を見てみましょう。

Python isinstance() 関数の例 1

ここでは、オブジェクトとクラスを関数に渡しており、オブジェクトがクラスに属している場合にのみ True を返します。以下の例を参照してください。

コード

 # Python isinstance() function example class Student: id = 101 name = 'John' def __init__(self, id, name): self.id=id self.name=name student = Student(1010,'John') lst = [ 12,34,5,6,767 ] # Calling function print(isinstance(student, Student)) # isinstance of Student class print(isinstance(lst, Student)) 

出力:

 True False 

Python isinstance() 関数の例 2

isinstance() を使用すると、オブジェクトが特定のインターフェイスを実行するクラスのインスタンスであるかどうかをチェックできます。インターフェイスは、さまざまなクラスが実行する一連のテクニックを決定するクラスとして特徴付けることができます。

コード

 # Python isinstance() function example class Animal: def speak(self): raise NotImplementedError class Dog(Animal): def speak(self): return 'Woof!' class Cat(Animal): def speak(self): return 'Meow!' def make_animal_speak(animal): if isinstance(animal, Animal): return animal.speak() else: raise ValueError('Object is not an Animal') my_dog = Dog() my_cat = Cat() print(make_animal_speak(my_dog)) print(make_animal_speak(my_cat)) 

出力:

 'Woof!' 'Meow!' 

Python isinstance() 関数の例 3

この関数は、オブジェクトがサブクラスであり、クラスが親クラスである場合にも True を返します。以下の例でそれがどのように機能するかを見てください。

コード

np.zeros
 # Python isinstance() function example # Declaring variables class NumericList(list): def __init__(self): return None num = NumericList() # Calling function print(isinstance(num, NumericList)) # True print(isinstance(num, list)) # True 

出力:

 True True 

結論:

結論として、 isinstance() 関数は、オブジェクトが事前定義されたクラスまたはサブクラスのインスタンスであるかどうかを確認できる便利な組み込み Python 関数です。これは、さまざまなデータ型を含むコードを操作するとき、または非常に多くの入力型を処理する必要があるライブラリや API を作成するときに特に役立ちます。 isinstance() を利用することで、コードがさまざまな入力タイプに対して正確に動作し、一般的により活発に動作することを保証できます。