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
құрылымы арқылы тексеріңіз. Сонымен бірге
ерекшеліктеріңізді де ұстап қалдырыңыз.