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.