logo

Python isinstance() funkcija

Python isinstance() funkcija tiek izmantota, lai pārbaudītu, vai dotais objekts ir šīs klases gadījums. Ja objekts pieder klasei, tas atgriež True. Pretējā gadījumā atgriež False. Tas arī atgriež patieso vērtību, ja klase ir apakšklase.

Funkcija isinstance() izmanto divus argumentus objektu un classinfo un atgriež True vai False. Funkcijas paraksts ir norādīts zemāk.

Sintakse:

 isinstance(object, classinfo) 

Parametri

objekts: Tas ir virknes, int, peldoša, gara vai pielāgota tipa objekts.

klases informācija: Klases nosaukums.

Atgriezties

Tas atgriež Būla vērtību True vai False.

Apskatīsim dažus funkcijas isinstance() piemērus, lai saprastu tās funkcionalitāti.

Python Isinstance() piemēri:

Mēs izmantojam funkciju isinstance(), lai pārbaudītu, vai dažādi mainīgie ir to atsevišķo datu tipu vai klašu gadījumi.

1. Vesels skaitlis

Kods

saglabāt youtube video vlc
 # Check if an integer is an int n = 100 print(isinstance(n, int)) 

Izvade:

 True 

2. Pludiņš

Kods

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

Izvade:

 True 

3. Stīga

Kods

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

Izvade:

 True 

4. Saraksts

Kods

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

Izvade:

 True 

5. Vārdnīca

Kods

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

Izvade:

 True 

6. Korpuss

Kods

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

Izvade:

aes vs des
 True 

7. Uzstādīt

Kods

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

Izvade:

 True 

8. Klase

Kods

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

Izvade:

 True 

Apskatīsim vēl dažus funkcijas isinstance() piemērus, lai saprastu tās funkcionalitāti.

Python isinstance() funkcijas 1. piemērs

Šeit mēs nododam objektu un klasi funkcijai, kas atgriež True tikai tad, ja objekts pieder klasei. Skatiet zemāk redzamo piemēru.

Kods

powershell daudzrindu komentārs
 # 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)) 

Izvade:

 True False 

Python isinstance() funkcijas 2. piemērs

isinstance() var izmantot, lai pārbaudītu, vai objekts ir klases gadījums, kas veic noteiktu saskarni. Mēs varam raksturot saskarni kā klasi, kas nosaka virkni paņēmienu, ko izpilda dažādas klases.

Kods

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

Izvade:

 'Woof!' 'Meow!' 

Python isinstance() funkcijas 3. piemērs

Šī funkcija atgriež arī vērtību True, ja objekts ir apakšklase un klase ir vecākklase. Skatiet, kā tas darbojas zemāk esošajā piemērā.

Kods

 # 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 

Izvade:

 True True 

Secinājums:

Visbeidzot, funkcija isinstance () ir noderīga iebūvēta Python funkcija, kas ļauj mums pārbaudīt, vai objekts ir iepriekš noteiktas klases vai apakšklases gadījums. Tas var būt īpaši vērtīgi, strādājot ar kodu, kas ietver dažādus datu tipus, vai rakstot bibliotēkas vai API, kam jādarbojas ar ļoti daudziem ievades veidiem. Izmantojot isinstance (), var garantēt, ka mūsu kods darbojas precīzi dažādiem ievades veidiem un kopumā ir enerģiskāks.