У овом чланку ћемо научити о тврдњи у Питхону користећи ассерт.
Шта је тврдња?
Тврдње су изјаве које тврде или поуздано наводе чињеницу у вашем програму. На пример, док пишете функцију дељења, уверени сте да делилац не би требало да буде нула, тврдите да делитељ није једнак нули.
Тврдње су једноставно логички изрази који проверавају да ли се услови враћају тачно или не. Ако је тачно, програм не ради ништа и прелази на следећи ред кода. Међутим, ако је нетачно, програм се зауставља и баца грешку.
Такође је алатка за отклањање грешака јер зауставља програм чим се деси било каква грешка и показује на којој је тачки програма дошло до грешке.
Можемо бити јасни ако погледамо дијаграм тока испод:
Изјава Питхон-а
Питхон има уграђену assert
изјаву за коришћење услова тврдње у програму. assert
изјава има услов или израз за који се претпоставља да је увек тачан. Ако је услов нетачан, тврдња зауставља програм и даје знак AssertionError
.
Синтакса за коришћење Ассерт-а у Пихтону:
тврдити
тврдити,
У Питхону можемо користити assert
изјаву на два начина, као што је горе поменуто.
assert
изјава има услов и ако услов није задовољен програм ће се зауставити и датиAssertionError
.assert
Изјава такође може имати услов и опционалну поруку о грешци. Ако услов није задовољен, потврда зауставља програм и дајеAssertionError
заједно са поруком о грешци.
Узмимо пример, где имамо функцију која израчунава просек вредности које је корисник проследио, а вредност не би требало да буде празна листа. Користићемо assert
наредбу за проверу параметра и ако је дужина прослеђене листе једнака нули, програм се зауставља.
Пример 1: Коришћење ассерт-а без поруке о грешци
def avg(marks): assert len(marks) != 0 return sum(marks)/len(marks) mark1 = () print("Average of mark1:",avg(mark1))
Када покренемо горњи програм, излаз ће бити:
АссертионЕррор
Добили смо грешку док смо прослеђивали празну листу марк1 assert
изјави, услов је постао нетачан и ассерт зауставља програм и даје AssertionError
.
Сада ћемо проћи другу листу која ће задовољити assert
услов и видети какав ће бити наш излаз.
Пример 2: Коришћење ассерт са поруком о грешци
def avg(marks): assert len(marks) != 0,"List is empty." return sum(marks)/len(marks) mark2 = (55,88,78,90,79) print("Average of mark2:",avg(mark2)) mark1 = () print("Average of mark1:",avg(mark1))
Када покренемо горњи програм, излаз ће бити:
Просек оцена 2: 78,0 АссертионЕррор: Листа је празна.
Пропустили смо avg()
функцију листе која није празна и ознаку празне листе1 и добили смо излаз за листу марк2, али након тога смо добили грешку AssertionError: List is empty
. assert
Услов је задовољен листе МАРК2 и програма да управља. Међутим, марк1 не испуњава услов и даје знак AssertionError
.
Кључне тачке које треба запамтити
- Тврдње су услов или логички израз за које се увек претпоставља да су тачни у коду.
assert
изјава узима израз и опционалну поруку.assert
наредба се користи за провјеру типова, вриједности аргумената и излаза функције.assert
наредба се користи као алат за отклањање грешака јер зауставља програм на месту где се догоди грешка.