La funzione isinstance di python
Nel linguaggio python la funzione isistance() mi permette di verificare se un oggetto è un'istanza di una classe.
La sintassi
isinstance(oggetto, classe)
La funzione ha due argomenti:
- Il nome dell'oggetto da controllare.
- Il nome della classe di appartenenza.
Restituisce in output un valore booleano:
- True. Se l'oggetto appartiene alla classe indicata.
- False. Se l'oggetto non appartiene alla classe indicata.
Un esempio pratico
In questo script creo due classi.
Poi lancio un'istanza alla prima classe (Classe1) tramite la variabile var.
- class Classe1(object):
- def metodo1(self):
- print('A')
- class Classe2(object):
- def metodo1(self):
- print('B')
- var = Classe1()
A questo punto eseguo la funzione isinstance() per verificare se l'oggetto appartiene alla classe.
La funzione restituisce in output il valore True.
>>> isinstance(var, Classe1)
>>> True
L'oggetto var è effettivamente un'istanza di Classe1.
Ora provo a verificare se l'oggetto var appartiene anche alla seconda classe.
>>> isinstance(var, Classe2)
>>> False
In questo caso la funzione restituisce il valore booleano False perché l'oggetto var non è un'istanza di Classe2.
E così via.