⊗pyPmExcFu 82 of 129 menu

Python-da Istisna atan Funksiya

Istisnalari şertler vasitesile funksiyalarda teyin etmek cox rahatdir.

Gelin get_sum funksiyasini yaradaq, bu funksiya siyahinin elementlerinin cemin ancaq siyahinin uzunluqu 3-den kicik ve ya beraber olduqda qaytarsin. Əks halda, oz istisnamiz ToBigLength atilsin:

def get_sum(lst): if len(lst) <= 3: return sum(lst) else: raise ToBigLength

Indi get_sum funksiyasina bir siyahi otek ve funksiyani konsola çap edek:

lst = [1, 2, 3, 4] print(get_sum(lst)) # 6 çap edecek

Həmçinin, funksiyalarda bir neçə istisna novunun tutulmasini teyin etmek olar. Gelin bir istisna sinifi daha yaradaq ToSmallLength:

class ToSmallLength(Exception): pass

Indi funksiyada şerti teyin edek, əgər siyahinin uzunluqu sifira beraberdirse, ToSmallLength atilsin. Əgər heç bir istisna tutulmasa, o zaman siyahinin butun elementlerinin cemi çap olunsun:

def get_sum(lst): if len(lst) > 3: raise ToBigLength if len(lst) == 0: raise ToSmallLength else: return sum(lst)

Rahatliq üçün funksiyanin parametrine otekilecek siyahini, funksiyanin ozunu ve onun çağırılışını try blokunda yerləşdirmek olar. Iki istisnamizin tutulmasini isə except bloklarinda yerleşdirek:

try: lst = [1, 2, 3] res = get_sum(lst) print(res) except ToBigLength: print('error 1') except ToSmallLength: print('error 2')

Parametr kimi bir eded qebul eden bir funksiya yaradin. Onda şertler teyin edin, eger eded menfi ve ya sifira beraberdirse, u ygun istisnalar atilsin. Əks halda isə eded 3-e vurulsun.

Yaratdığınız funksiyanın işini try-except konstruksiyası vasitəsilə yoxlayın. Bunu edərkən sizin istisnalarınızı da tutun.

Azərbaycan
AfrikaansБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Biz saytin işi, analitika və fərdiləşdirmə üçün cookie istifadə edirik. Məlumatların emalı Məxfilik Siyasəti əsasında həyata keçirilir.
hamısını qəbul et konfiqurasiya et rədd et