Objektumtípus ellenőrzése Pythonban
Egy elem típusának ellenőrzéséhez az
isinstance függvényt kell használni. Első
paraméterként az elemet, másodikként pedig
azt a típust veszi fel, amellyel összehasonlítja.
Ugyanakkor a második paraméter neveként
azoknak a függvényeknek a neveit használjuk,
amelyek az adatokat a megfelelő típusra
alakítják: sztringek esetén - str,
számok - int, listák - list
stb. Az isinstance függvény
logikai értékeket ad vissza: ha az elem megfelel a
típusnak, akkor True (Igaz) értéket ad vissza,
ellenkező esetben - False (Hamis).
Példa
Tegyük fel, hogy van egy tst változónk.
Ellenőrizzük, hogy az értéke sztring-e.
Ehhez az if után írjuk az
isinstance függvényt. A
paramétereinek adjuk át a tst változót és a
str típust. Ha az érték és az adattípus
megegyezik, jelenjen meg a megfelelő
üzenet:
tst = 'a'
if isinstance(tst, str):
print('string')
A kód végrehajtásának eredménye:
'string'
Példa
Most ellenőrizzük, hogy a változó egész szám-e:
tst = 12
if isinstance(tst, int):
print('integer')
A kód végrehajtásának eredménye:
'integer'
Példa
Ahhoz, hogy ellenőrizzük, hogy a tst
lebegőpontos szám-e, az isinstance
második paraméterébe a
float típust kell megadni:
tst = 12.0
if isinstance(tst, float):
print('float')
A kód végrehajtásának eredménye:
'float'
Példa
Most írjunk egy feltételt, hogy
ellenőrizzük, hogy a tst lista-e:
tst = [1, 2, 3]
if isinstance(tst, list):
print('list')
A kód végrehajtásának eredménye:
'list'
Példa
Ellenőrizzük, hogy a változó tuple-e:
tst = (1, 2, 3)
if isinstance(tst, tuple):
print('tuple')
A kód végrehajtásának eredménye:
'tuple'
Példa
Most állítsunk fel egy feltételt, hogy megtudjuk, egy változó értéke szótár-e:
tst = {'a': 1, 'b': 2, 'c': 3}
if isinstance(tst, dict):
print('dictionary')
A kód végrehajtásának eredménye:
'dictionary'
Gyakorlati feladatok
Tegyük fel, hogy van egy változója. Ellenőrizze, hogy az értéke egész szám-e.
Derítse ki, hogy egy adott változó lebegőpontos szám-e.
Ellenőrizze, hogy egy változó sztring értéket tartalmaz-e.
Ellenőrizze, hogy egy adott változó szótár-e.
Ellenőrizze, hogy egy adott változó halmaz-e.
Ellenőrizze, hogy egy adott változó tuple-e.
Ellenőrizze, hogy egy adott változó lista-e.