Objektin tyypin tarkistus Pythonissa
Elementin tyypin tarkistamiseksi on käytettävä
funktiota isinstance. Se ottaa ensimmäisenä
parametrinaan elementin ja toisena -
tyypin, jota vastaan sitä tarkistetaan. Tässä
tapauksessa toisen parametrin nimeksi
otetaan niiden funktioiden nimet, jotka
muuntavat tiedot vastaavaan tyyppiin: merkkijonoille - str,
luvuille - int, listoille - list
jne. Funktio isinstance palauttaa
Boolen arvot: jos elementti vastaa
tyyppiä, palautetaan True, muussa
tapauksessa - False.
Esimerkki
Oletetaan, että meillä on muuttuja tst.
Tarkistetaan, onko sen arvo
merkkijono. Tätä varten kirjoitamme if-lauseen
oikealle puolelle funktion isinstance.
Sen parametreihin välitämme tst-muuttujan ja tyypin
str. Jos arvo ja tietotyyppi
ovat samat, tulostetaan vastaava
viesti:
tst = 'a'
if isinstance(tst, str):
print('string')
Koodin suorituksen tulos:
'string'
Esimerkki
Tarkistetaan nyt, onko muuttuja kokonaisluku:
tst = 12
if isinstance(tst, int):
print('integer')
Koodin suorituksen tulos:
'integer'
Esimerkki
Tarkistaaksesi, onko tst
liukuluku, toiseen
parametriin isinstance tulee välittää
tyyppi float:
tst = 12.0
if isinstance(tst, float):
print('float')
Koodin suorituksen tulos:
'float'
Esimerkki
Kirjoitetaan nyt ehto
tarkistamaan, onko tst lista:
tst = [1, 2, 3]
if isinstance(tst, list):
print('list')
Koodin suorituksen tulos:
'list'
Esimerkki
Tarkistetaan, onko muuttuja tuple:
tst = (1, 2, 3)
if isinstance(tst, tuple):
print('tuple')
Koodin suorituksen tulos:
'tuple'
Esimerkki
Asetetaan nyt ehto selvittääksemme, onko muuttujan arvo sanakirja:
tst = {'a': 1, 'b': 2, 'c': 3}
if isinstance(tst, dict):
print('dictionary')
Koodin suorituksen tulos:
'dictionary'
Käytännön tehtävät
Oletetaan, että sinulla on muuttuja. Tarkista, onko sen arvo kokonaisluku.
Selvitä, onko annettu muuttuja liukuluku.
Tarkista, sisältääkö muuttuja merkkijonoarvon.
Tarkista, onko annettu muuttuja sanakirja.
Tarkista, onko annettu muuttuja joukko.
Tarkista, onko annettu muuttuja tuple.
Tarkista, onko annettu muuttuja lista.