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.