Type ja isinstance näited¶
Sissejuhatus¶
Pythonis on andmetüübid väga olulised, kuna need aitavad teil teha otsuseid ja manipuleerida andmetega. Kaks sagedast funktsiooni, mida kasutatakse andmetüüpide kontrollimiseks ja tüübi teisendamiseks, on type() ja isinstance().
type() funktsioon võimaldab teil teada saada, milline andmetüüp on konkreetne objekt, samas kui isinstance() kontrollib, kas objekt kuulub antud klassi või klasside hulka.
Type funktsiooni kasutamine¶
type() funktsioon võimaldab teil saada objekti tüübi. Siin on mõned näited:
x = 5
y = "Tere, maailm"
z = [1, 2, 3]
print(type(x)) # <class 'int'>
print(type(y)) # <class 'str'>
print(type(z)) # <class 'list'>
Isinstance funktsiooni kasutamine¶
isinstance() funktsioon kontrollib, kas objekt kuulub antud klassi või klasside hulka. Siin on näide:
x = 5
if isinstance(x, int):
print("x on integer.")
else:
print("x ei ole integer.")
# Väljund: x on integer.
Teisendamine andmetüüpideks¶
Mõnikord peate teisendama ühe andmetüübi teiseks. Näiteks, kui soovite teisendada stringi arvuks, võite kasutada int() funktsiooni. Siin on näide:
num_str = "42"
num_int = int(num_str)
print(num_int) # 42
print(type(num_int)) # <class 'int'>
Pärilikus¶
Kasutades klasse on võimalik defineerida enda andme tüüpe. Selle käigus saab tehe alamklasse, mis kasutavad ülemklasside meetodeid ja väärtuseid.
Kutsudes type()
alam tüübi peal tagastab selle tüübi sõnalise väljenduse, millega ei saa kontrollida, kas tüüp pärineb mingist teisest, aga isinstance()
võimaldab selle kontrollimise.
class MyClass:
def __init__(self):
pass
class MySubClass(MyClass):
def __init__(self):
super().__init__()
my_variable = MySubClass()
print(type(my_variable) == MySubClass) # True
print(type(my_variable) == MyClass) # False
print(isinstance(my_variable, MySubClass)) # True
print(isinstance(my_variable, MyClass)) # True
Kokkuvõte¶
Pythoni type() ja isinstance() funktsioonid on kasulikud, kui peate kontrollima objekti tüüpi või klassi kuulumist. Samuti saate kasutada andmetüüpide teisendamiseks sisseehitatud funktsioone, näiteks int(), str(), float(), jne.