logo

Funcția Python isinstance().

Funcția Python isinstance() este utilizată pentru a verifica dacă obiectul dat este o instanță a acelei clase. Dacă obiectul aparține clasei, returnează True. În caz contrar, returnează False. De asemenea, returnează adevărat dacă clasa este o subclasă.

Funcția isinstance() preia două argumente obiect și informație de clasă și returnează fie adevărat, fie fals. Semnătura funcției este dată mai jos.

Sintaxă:

 isinstance(object, classinfo) 

Parametrii

obiect: Este un obiect de tip string, int, float, long sau personalizat.

info clasa: Numele clasei.

Întoarcere

Returnează boolean fie Adevărat, fie Fals.

Să vedem câteva exemple de funcție isinstance() pentru a înțelege funcționalitatea acesteia.

Python Iinstance() Exemple:

Utilizăm funcția isinstance() pentru a verifica dacă diverse variabile sunt instanțe ale tipurilor sau claselor lor separate de date.

1. Număr întreg

Cod

cum să recuperezi aplicațiile ascunse
 # Check if an integer is an int n = 100 print(isinstance(n, int)) 

Ieșire:

 True 

2. Plutitor

Cod

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

Ieșire:

 True 

3. Snur

Cod

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

Ieșire:

 True 

4. Lista

Cod

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

Ieșire:

 True 

5. Dicţionar

Cod

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

Ieșire:

 True 

6. Tuplu

Cod

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

Ieșire:

cât de mare este ecranul computerului meu
 True 

7. Setează

Cod

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

Ieșire:

 True 

8. Clasa

Cod

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

Ieșire:

 True 

Să vedem mai multe exemple de funcție isinstance() pentru a înțelege funcționalitatea acesteia.

Funcția Python isinstance() Exemplul 1

Aici, transmitem obiect și clasă funcției care returnează True numai dacă obiectul aparține clasei. Vezi exemplul de mai jos.

Cod

powershell vs bash
 # 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)) 

Ieșire:

 True False 

Funcția Python isinstance() Exemplul 2

isinstance() poate fi utilizat pentru a verifica dacă un obiect este o instanță a unei clase care realizează o interfață specifică. Putem caracteriza o interfață ca o clasă care determină o grămadă de tehnici pe care diferite clase le execută.

Cod

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

Ieșire:

 'Woof!' 'Meow!' 

Funcția Python isinstance() Exemplul 3

Această funcție returnează și True dacă obiectul este din subclasă și clasa este o clasă părinte. Vezi cum funcționează în exemplul de mai jos.

Cod

 # 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 

Ieșire:

 True True 

Concluzie:

În concluzie, funcția isinstance() este o funcție Python încorporată utilă care ne permite să verificăm dacă un obiect este o instanță a unei clase sau subclase predefinite. Acest lucru poate fi deosebit de valoros atunci când lucrați cu cod care include diferite tipuri de date sau când scrieți biblioteci sau API-uri care trebuie să se ocupe de multe tipuri de intrare. Prin utilizarea isinstance(), se poate garanta că codul nostru acționează cu acuratețe pentru diferite tipuri de intrare și este mai viguros în general.