logo

Funkcija Python isinstance().

Funkcija Python isinstance() se uporablja za preverjanje, ali je dani predmet primerek tega razreda. Če predmet pripada razredu, vrne True. V nasprotnem primeru vrne False. Prav tako vrne true, če je razred podrazred.

Funkcija isinstance() sprejme dva argumenta object in classinfo ter vrne True ali False. Podpis funkcije je podan spodaj.

Sintaksa:

 isinstance(object, classinfo) 

Parametri

predmet: Je objekt vrste niz, int, float, long ali po meri.

info o razredu: Ime razreda.

Vrnitev

Vrne logično vrednost True ali False.

Oglejmo si nekaj primerov funkcije isinstance(), da razumemo njeno funkcionalnost.

Primeri Python Isinstance():

Funkcijo isinstance() uporabljamo za preverjanje, ali so različne spremenljivke primerki svojih ločenih tipov podatkov ali razredov.

1. Celo število

Koda

razlika med gigabajtom in megabajtom
 # Check if an integer is an int n = 100 print(isinstance(n, int)) 

Izhod:

 True 

2. Lebdenje

Koda

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

Izhod:

 True 

3. Vrvica

Koda

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

Izhod:

 True 

4. Seznam

Koda

posodobitev v sql z pridružitvijo
 # Check if a list is a list colours = ['blue', 'black', 'brown'] print(isinstance(colours, list)) 

Izhod:

 True 

5. Slovar

Koda

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

Izhod:

kakšna je velikost zaslona mojega računalnika
 True 

6. Tuple

Koda

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

Izhod:

 True 

7. Set

Koda

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

Izhod:

 True 

8. Razred

Koda

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

Izhod:

 True 

Oglejmo si še nekaj primerov funkcije isinstance(), da bomo razumeli njeno funkcionalnost.

1. primer funkcije Python isinstance().

Tukaj posredujemo objekt in razred funkciji, ki vrne True le, če objekt pripada razredu. Oglejte si spodnji primer.

Koda

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

Izhod:

 True False 

2. primer funkcije Python isinstance().

isinstance() se lahko uporabi za preverjanje ob naključju, da je predmet primerek razreda, ki izvaja določen vmesnik. Vmesnik lahko označimo kot razred, ki določa kup tehnik, ki jih izvajajo različni razredi.

Koda

repl v javi
 # 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)) 

Izhod:

 'Woof!' 'Meow!' 

3. primer funkcije Python isinstance().

Ta funkcija prav tako vrne True, če je predmet podrazred in je razred nadrejeni razred. Oglejte si, kako deluje v spodnjem primeru.

Koda

 # 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 

Izhod:

 True True 

Zaključek:

Skratka, funkcija isinstance() je koristna vgrajena funkcija Python, ki nam omogoča, da preverimo, ali je predmet primerek vnaprej določenega razreda ali podrazreda. To je lahko še posebej dragoceno pri delu s kodo, ki vključuje različne tipe podatkov, ali med pisanjem knjižnic ali API-jev, ki morajo obravnavati zelo veliko tipov vnosa. Z uporabo isinstance() lahko zagotovimo, da naša koda deluje natančno za različne vrste vnosa in je na splošno bolj živahna.