1. Mis on Pythoni type()
funktsioon?
type()
funktsiooni ülevaade
Pythonis kasutatakse type()
funktsiooni sageli objekti andmetüübi kontrollimiseks. See funktsioon tagastab argumendina antud objekti tüübi ning on mugav tööriist programmi silumiseks ja tüübikontrolliks. Tänu Pythoni dünaamilisele tüübistamisele saab lihtsalt kontrollida, mis tüüpi andmeid objekt omab.
Põhiline kasutamine
type()
funktsiooni kasutatakse järgmiselt:
type(objekt)
See funktsioon tagastab objekti tüübi klassina. Näiteks saab kontrollida täisarvude ja stringide tüüpi nii:
print(type(123)) # Väljund: <class 'int'>
print(type("Python")) # Väljund: <class 'str'>
Nagu näha, võimaldab type()
funktsioon selgelt määrata objekti tüübi ning on oluline tüübist sõltuvate toimingute eel.
2. type()
funktsiooni põhikasutus
Põhiandmetüüpide kontrollimine
Pythonis on mitmeid põhilisi andmetüüpe, mida saab type()
abil kontrollida. Siin on mõned näited:
print(type(3.14)) # Väljund: <class 'float'>
print(type(True)) # Väljund: <class 'bool'>
Need põhiandmetüübid on Pythonis sageli kasutusel ning type()
funktsioon võimaldab muutuja tüüpi kontrollida, vältimaks vigu vale tüübiga operatsioonide puhul.
Tüübi kontroll tingimuslausetes
type()
funktsiooni saab kasutada koos tingimuslausetega, et kontrollida, kas objekt on kindlat tüüpi. Näiteks täisarvu kontrollimiseks:
if type(123) is int:
print("See on täisarv.")
Kui on vaja kontrollida mitut tüüpi korraga, saab kasutada in
operaatorit:
if type([1, 2, 3]) in (list, int):
print("See on list või täisarv.")
Selline tüübikontroll aitab vältida ootamatuid vigu.
3. Keerukamate andmetüüpide kontroll
Listi, tupli ja sõnastiku tüübi kontrollimine
Pythonis saab type()
abil kontrollida ka keerukamaid andmetüüpe nagu listid, tuplid ja sõnastikud. Näited:
my_list = [1, 2, 3]
print(type(my_list)) # Väljund: <class 'list'>
my_tuple = (1, 2, 3)
print(type(my_tuple)) # Väljund: <class 'tuple'>
my_dict = {'a': 1, 'b': 2}
print(type(my_dict)) # Väljund: <class 'dict'>
Need keerukad andmetüübid võimaldavad salvestada mitut väärtust ning muudavad programmi loogika paindlikumaks.
Seti ja frozenseti tüübi kontrollimine
type()
võimaldab kontrollida ka kogumeid (set
) ja muutumatuid kogumeid (frozenset
). Näited:
my_set = {1, 2, 3}
print(type(my_set)) # Väljund: <class 'set'>
my_frozenset = frozenset([1, 2, 3])
print(type(my_frozenset)) # Väljund: <class 'frozenset'>
Need tüübid on kasulikud, kui on vaja teha kogumioperatsioone kindlatel tingimustel.

4. Pythoni tüübimuundus ja type()
rakendus
Tüübimuunduse ülevaade
Pythonis on mitu funktsiooni, mis võimaldavad lihtsalt teisendada andmeid ühest tüübist teise. Näiteks int()
, float()
ja str()
võimaldavad muuta stringe täisarvudeks või ujukomaarvudeks.
my_str = "100"
my_int = int(my_str)
print(type(my_int)) # Väljund: <class 'int'>
Nii saab teisendatud andmete tüüpi kinnitada type()
funktsiooni abil.
Tüübi kontroll pärast teisendust
type()
on kasulik ka pärast tüübimuundust, et kinnitada, kas teisendus õnnestus. Näiteks:
my_float = float("3.14")
print(type(my_float)) # Väljund: <class 'float'>
Tüübimuundus on eriti vajalik siis, kui sisendandmed tulevad kasutajalt või failist ning on vaja veenduda, et andmed on õigel kujul.
5. type()
ja isinstance()
erinevus
isinstance()
funktsiooni omadused
isinstance()
on funktsioon, mis sarnaneb type()
-le, kuid võimaldab kontrollida, kas objekt kuulub teatud tüüpi või selle alamklassidesse.
x = 5
if isinstance(x, int):
print("x on täisarv.")
isinstance()
arvestab ka klasside pärilust ning on kasulik, kui on vaja tuvastada alamklassi kuulumist.
type()
ja isinstance()
kasutuserinevused
type()
teeb ranget tüübikontrolli ega arvesta alamklasse, samas kui isinstance()
tuvastab ka alamklassid. Kui objektidel on pärilussuhe, soovitatakse kasutada isinstance()
-i.
class Animal:
pass
class Dog(Animal):
pass
dog = Dog()
print(isinstance(dog, Animal)) # True
print(type(dog) is Animal) # False
Selles näites pärib Dog
klass Animal
klassi. isinstance()
tuvastab, et dog
on ka Animal
tüüpi, samas kui type()
tuvastab selle ainult kui Dog
.
6. Kokkuvõte ja olulised tähelepanekud
Pythoni type()
funktsioon on väga kasulik tööriist andmetüüpide kontrollimiseks. Kuid pärilusega objektide puhul on sageli sobivam kasutada isinstance()
-i. Samuti tuleks type()
kasutamisel arvestada võimalusega, et tüüp võib jooksvalt muutuda, ning rakendada asjakohast veakäsitlust.
Tüüpide kontroll ja teisendus mängivad olulist rolli andmetöötluses ja sisendandmete valideerimisel. Neid funktsioone nutikalt kasutades saab luua töökindlamaid Pythoni programme.