⊗pyPmExcFu 82 of 129 menu

Функсия бо истисно дар Python

Истисноҳо хеле боқулак партофта мешаванд, дар функсияҳо бо истифода аз шартҳо навишта шаванд.

Биёед функсияи get_sum созем, ки ҳамаи унсурҳои рӯйхатро фақат дар сурате ҷамъ мекунад, ки дарозии рӯйхат хурд ё баробар бо 3 бошад. Дар акси ҳол, бигзор истиснои мо ToBigLength партофта шавад:

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

Ҳоло рӯйхатро ба функсияи get_sum гузаронем ва натиҷаро дар консол чоп кунем:

lst = [1, 2, 3, 4] print(get_sum(lst)) # 6-ро чоп мекунад

Инчунин дар функсияҳо мумкин аст чанд намуди истисноро дастгирӣ кардан. Биёед як синфи дигари истисно ToSmallLength созем:

class ToSmallLength(Exception): pass

Ҳоло дар функсия шартеро нависем, агар дарозии рӯйхат ба сифр баробар бошад, пас бигзор ToSmallLength партофта шавад. Агар ягон истисно дастгирӣ нашавад, пас бигзор ҳамаи унсурҳои рӯйхат ҷамъ шаванд:

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

Барои осонӣ, рӯйхатеро, ки ба параметри функсия мегузарад, худ функсия ва фарохониашро дар блоки try қарор додан мумкин аст. Ва дастгирии ду истиснои моро дар блокҳои except ҷойгир кунем:

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

Функсияе созед, ки параметраш адад қабул мекунад. Дар он шартҳоро нависед, агар адад манфӣ ва ба сифр баробар бошад, пас бигзор истисноҳои мувофиқ партофта шаванд. дар акси ҳол бигзор адад ба 3 зарб карда шавад.

Коркарди функсияи сохтаи худро бо йӯрии сохтмони try-except санҷед. Дар ин ҳол инчунин истисноҳои худро дастгирӣ кунед.

Тоҷикӣ
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČ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
Мо барои коркарди сомона, таҳлил ва шахсӣ кардан аз cookie истифода мебарем. Коркарди маълумот мувофиқи Сиёсати махфият сурат мегирад.
ҳамаро қабул кардан танзим кардан рад кардан