logo

Funzione isinstance() di Python

La funzione isinstance() di Python viene utilizzata per verificare se l'oggetto dato è un'istanza di quella classe. Se l'oggetto appartiene alla classe, restituisce True. Altrimenti restituisce False. Restituisce vero anche se la classe è una sottoclasse.

La funzione isinstance() accetta due argomenti object e classinfo e restituisce True o False. La firma della funzione è riportata di seguito.

Sintassi:

 isinstance(object, classinfo) 

Parametri

oggetto: È un oggetto di tipo string, int, float, long o personalizzato.

informazioni sulla classe: Nome della classe.

Ritorno

Restituisce un valore booleano True o False.

Vediamo alcuni esempi della funzione isinstance() per comprenderne le funzionalità.

Python Isinstance() Esempi:

Utilizziamo la funzione isinstance() per verificare se le varie variabili sono istanze dei loro tipi o classi di dati separati.

1. Numero intero

Codice

come recuperare app nascoste
 # Check if an integer is an int n = 100 print(isinstance(n, int)) 

Produzione:

 True 

2. Galleggia

Codice

punteggio di precisione sklearn
 # Check if a float is a float pi = 3.14159 print(isinstance(pi, float)) 

Produzione:

 True 

3. Corda

Codice

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

Produzione:

 True 

4. Elenco

Codice

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

Produzione:

 True 

5. Dizionario

Codice

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

Produzione:

 True 

6. Tupla

Codice

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

Produzione:

 True 

7. Imposta

Codice

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

Produzione:

modello di riferimento osi nel networking
 True 

8. Classe

Codice

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

Produzione:

 True 

Vediamo alcuni altri esempi della funzione isinstance() per comprenderne la funzionalità.

Funzione Python isinstance() Esempio 1

Qui stiamo passando oggetto e classe alla funzione che restituisce True solo se l'oggetto appartiene alla classe. Vedere l'esempio seguente.

Codice

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

Produzione:

bloccare gli annunci di YouTube Android
 True False 

Funzione Python isinstance() Esempio 2

isinstance() può essere utilizzato per verificare se un oggetto è un'istanza di una classe che esegue un'interfaccia specifica. Possiamo caratterizzare un'interfaccia come una classe che determina una serie di tecniche eseguite da classi diverse.

Codice

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

Produzione:

 'Woof!' 'Meow!' 

Funzione Python isinstance() Esempio 3

Questa funzione restituisce True anche se l'oggetto è una sottoclasse e la classe è una classe genitore. Vedi come funziona nell'esempio seguente.

Codice

 # 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 

Produzione:

 True True 

Conclusione:

In conclusione, la funzione isinstance() è un'utile funzione integrata Python che ci consente di verificare se un oggetto è un'istanza di una classe o sottoclasse predefinita. Ciò può essere particolarmente utile quando si lavora con codice che include vari tipi di dati o durante la scrittura di librerie o API che devono gestire un gran numero di tipi di input. Utilizzando isinstance(), si può garantire che il nostro codice agisca accuratamente per diversi tipi di input e sia più vigoroso in generale.