Kontrol af objekttype i Python
For at kontrollere typen af et element skal du anvende
funktionen isinstance. Den tager det første
parameter som elementet og det andet som
typen, det skal kontrolleres mod. Samtidig
tages navnene på funktioner, der konverterer data
til den tilsvarende type, som navn for den anden parameter: for strenge - str,
tal - int, lister - list
osv. Funktionen isinstance returnerer
booleske værdier: hvis elementet svarer til
typen, returneres True, i modsat
tilfælde - False.
Eksempel
Lad os sige, at vi har variablen tst.
Lad os kontrollere, om dens værdi
er en streng. For at gøre dette skriver vi funktionen isinstance
til højre for if. I
dens parametre sender vi tst og typen
str. Hvis værdien og datatypen
matcher, lad os så udskrive den tilsvarende
besked:
tst = 'a'
if isinstance(tst, str):
print('string')
Resultat af kodeudførelse:
'string'
Eksempel
Lad os nu kontrollere, om variablen er et heltal:
tst = 12
if isinstance(tst, int):
print('integer')
Resultat af kodeudførelse:
'integer'
Eksempel
For at kontrollere, om tst
er et flydende kommatal, skal du i den anden
parameter for isinstance sende
typen float:
tst = 12.0
if isinstance(tst, float):
print('float')
Resultat af kodeudførelse:
'float'
Eksempel
Lad os nu skrive en betingelse for at
kontrollere tst for en liste:
tst = [1, 2, 3]
if isinstance(tst, list):
print('list')
Resultat af kodeudførelse:
'list'
Eksempel
Lad os kontrollere, om variablen er en tuple:
tst = (1, 2, 3)
if isinstance(tst, tuple):
print('tuple')
Resultat af kodeudførelse:
'tuple'
Eksempel
Lad os nu sætte en betingelse for at finde ud af, om variablens værdi er en ordbog:
tst = {'a': 1, 'b': 2, 'c': 3}
if isinstance(tst, dict):
print('dictionary')
Resultat af kodeudførelse:
'dictionary'
Praktiske opgaver
Lad os sige, at du har en variabel. Kontroller, om dens værdi er et heltal.
Find ud af, om den givne variabel er et flydende kommatal.
Kontroller, om variablen indeholder en strengværdi.
Kontroller, om den givne variabel er en ordbog.
Kontroller, om den givne variabel er et sæt.
Kontroller, om den givne variabel er en tuple.
Kontroller, om den givne variabel er en liste.