Verifica del tipo di oggetto in Python
Per verificare il tipo di un elemento, è necessario applicare
la funzione isinstance. Prende come primo
parametro l'elemento, e come secondo -
il tipo con cui confrontarlo. In questo caso
i nomi per il secondo parametro
sono i nomi delle funzioni che convertono i dati
nel tipo corrispondente: per le stringhe - str,
numeri interi - int, liste - list
ecc. La funzione isinstance restituisce
valori booleani: se l'elemento corrisponde al
tipo, restituirà True, in caso
contrario - False.
Esempio
Supponiamo di avere una variabile tst.
Verifichiamo se il suo valore è
una stringa. Per farlo, a destra di if
scriviamo la funzione isinstance. Nei
suoi parametri passiamo tst e il tipo
str. Se il valore e il tipo di dati
coincidono, facciamo in modo che venga visualizzato il messaggio corrispondente:
tst = 'a'
if isinstance(tst, str):
print('string')
Risultato dell'esecuzione del codice:
'string'
Esempio
Ora verifichiamo se la variabile è un numero intero:
tst = 12
if isinstance(tst, int):
print('integer')
Risultato dell'esecuzione del codice:
'integer'
Esempio
Per verificare se tst
è un numero a virgola mobile, nel secondo
parametro di isinstance bisogna passare
il tipo float:
tst = 12.0
if isinstance(tst, float):
print('float')
Risultato dell'esecuzione del codice:
'float'
Esempio
Ora scriviamo una condizione per
verificare se tst è una lista:
tst = [1, 2, 3]
if isinstance(tst, list):
print('list')
Risultato dell'esecuzione del codice:
'list'
Esempio
Verifichiamo se la variabile è una tupla:
tst = (1, 2, 3)
if isinstance(tst, tuple):
print('tuple')
Risultato dell'esecuzione del codice:
'tuple'
Esempio
Ora impostiamo una condizione per scoprire se il valore della variabile è un dizionario:
tst = {'a': 1, 'b': 2, 'c': 3}
if isinstance(tst, dict):
print('dictionary')
Risultato dell'esecuzione del codice:
'dictionary'
Problemi pratici
Supponiamo che tu abbia una variabile. Verifica se il suo valore è un numero intero.
Scopri se la variabile data è un numero a virgola mobile.
Verifica se la variabile contiene un valore stringa.
Verifica se la variabile data è un dizionario.
Verifica se la variabile data è un insieme.
Verifica se la variabile data è una tupla.
Verifica se la variabile data è una lista.