logo

Python isinstance() függvény

A Python isinstance() függvény annak ellenőrzésére szolgál, hogy az adott objektum az adott osztály példánya-e. Ha az objektum az osztályhoz tartozik, akkor True-t ad vissza. Ellenkező esetben False értéket ad vissza. Akkor is igaz, ha az osztály egy alosztály.

Az isinstance() függvény két objektumot és classinfo argumentumot vesz fel, és True vagy False értéket ad vissza. A függvény aláírása alább látható.

Szintaxis:

 isinstance(object, classinfo) 

Paraméterek

tárgy: Ez egy string, int, float, long vagy egyéni típusú objektum.

osztály info: Osztály név.

Visszatérés

Igaz vagy hamis logikai értéket ad vissza.

Nézzünk néhány példát az isinstance() függvényre, hogy megértsük a funkcióját.

Python Isinstance() példák:

Az isinstance() függvényt használjuk annak ellenőrzésére, hogy a különböző változók külön adattípusuk vagy osztályaik példányai-e.

1. Egész szám

Kód

java string formátum hosszú
 # Check if an integer is an int n = 100 print(isinstance(n, int)) 

Kimenet:

 True 

2. Úszó

Kód

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

Kimenet:

 True 

3. Húr

Kód

 # Check if a string is a string name = 'Johnny' print(isinstance(name, str)) 

Kimenet:

 True 

4. Lista

Kód

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

Kimenet:

 True 

5. Szótár

Kód

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

Kimenet:

10/100
 True 

6. Tuple

Kód

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

Kimenet:

 True 

7. Állítsa be

Kód

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

Kimenet:

 True 

8. Osztály

Kód

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

Kimenet:

 True 

Nézzünk még néhány példát az isinstance() függvényre, hogy megértsük a funkcióját.

Python isinstance() függvény 1. példa

Itt objektumot és osztályt adunk át a függvénynek, amely csak akkor ad vissza True értéket, ha az objektum az osztályhoz tartozik. Lásd az alábbi példát.

összehasonlítható lista

Kód

 # 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)) 

Kimenet:

 True False 

Python isinstance() függvény 2. példa

Az isinstance() segítségével ellenőrizhető, hogy egy objektum egy adott interfészt végrehajtó osztály példánya-e. Egy interfészt úgy jellemezhetünk, mint egy osztályt, amely egy csomó technikát határoz meg, amelyeket a különböző osztályok hajtanak végre.

Kód

 # 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)) 

Kimenet:

 'Woof!' 'Meow!' 

Python isinstance() függvény 3. példa

Ez a függvény akkor is igaz értéket ad vissza, ha az objektum egy alosztályhoz tartozik, és az osztály szülőosztály. Nézze meg, hogyan működik az alábbi példában.

Kód

 # 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 

Kimenet:

 True True 

Következtetés:

Összefoglalva, az isinstance() függvény egy hasznos beépített Python-függvény, amely lehetővé teszi számunkra, hogy ellenőrizzük, hogy egy objektum egy előre meghatározott osztály vagy alosztály példánya-e. Ez különösen értékes lehet, ha különféle adattípusokat tartalmazó kóddal dolgozik, vagy olyan könyvtárakat vagy API-kat ír, amelyeknek nagyon sok bemeneti típussal kell foglalkozniuk. Az isinstance() használatával garantálható, hogy kódunk pontosan működik a különböző bemeneti típusoknál, és általában véve erőteljesebb.