Pythonda obyektin tipinin yoxlanilmasi
Elementin tipini yoxlamaq ucun
funksiyasindan isinstance istifade etmek lazimdir. O, birinci
parametr kimi elementi, ikinci parametr kimi ise
yoxlanilan tipi qebul edir. Bu zaman
ikinci parametrin adi kimi
melumati uygun tipa ceviren funksiyalarin adlari
goturulur: setirler ucun - str,
reqemler ucun - int, siyahilar ucun - list
ve s. isinstance funksiyasi
Bul qymetlerini qaytarir: eger element uygun tipde
olsa, True qayidir, eks halda
ise - False.
Numune
Tutaq ki, bizim tst
adli deyishenimiz var. Gelin onun qymetinin
setir olub-olmadigini yoxlayaq. Bunun ucun if-den sonra
isinstance funksiyasini yaziriq.
Onun parametrlerine tst ve tip
str otururuk. Eger qymet ve tip uygun
gelse, uygun mesaj cixacaq:
tst = 'a'
if isinstance(tst, str):
print('string')
Kodu icra etmekin neticesi:
'string'
Numune
Indi ise deyishenin tam reqem olub-olmadigini yoxlayaq:
tst = 12
if isinstance(tst, int):
print('integer')
Kodu icra etmekin neticesi:
'integer'
Numune
tst-in
uzluqlu reqem olub-olmadigini yoxlamaq ucun, ikinci
parametre isinstance-e
float tipi oturulmelidir:
tst = 12.0
if isinstance(tst, float):
print('float')
Kodu icra etmekin neticesi:
'float'
Numune
Indi gelin tst-i siyahi
uzre yoxlamaq ucun sert yazaq:
tst = [1, 2, 3]
if isinstance(tst, list):
print('list')
Kodu icra etmekin neticesi:
'list'
Numune
Gelin deyishenin kortej olub-olmadigini yoxlayaq:
tst = (1, 2, 3)
if isinstance(tst, tuple):
print('tuple')
Kodu icra etmekin neticesi:
'tuple'
Numune
Indi ise deyishenin qymetinin luget olub-olmadigini oyrenmek ucun sert teyin edek:
tst = {'a': 1, 'b': 2, 'c': 3}
if isinstance(tst, dict):
print('dictionary')
Kodu icra etmekin neticesi:
'dictionary'
Praktiki tapshiriqlar
Tutaq ki, sizin deyisheniniz var. Onun qymetinin tam reqem olub-olmadigini yoxlayin.
Verilmish deyishenin uzluqlu reqem olub-olmadigini oyrenin.
Deyishenin setir qymeti olub-olmadigini yoxlayin.
Verilmish deyishenin luget olub-olmadigini yoxlayin.
Verilmish deyishenin cem olub-olmadigini yoxlayin.
Verilmish deyishenin kortej olub-olmadigini yoxlayin.
Verilmish deyishenin siyahi olub-olmadigini yoxlayin.