В тази статия ще научим за твърдение в Python с помощта на assert.
Какво е твърдение?
Твърденията са твърдения, които твърдят или твърдят даден факт уверено във вашата програма. Например, докато пишете функция за деление, вие сте уверени, че делителят не трябва да е нула, вие твърдите, че делителят не е равен на нула.
Твърденията са просто булеви изрази, които проверяват дали условията връщат истина или не. Ако е вярно, програмата не прави нищо и преминава към следващия ред код. Ако обаче е невярно, програмата спира и извежда грешка.
Той също така е инструмент за отстраняване на грешки, тъй като спира програмата при спиране веднага след възникването на грешка и показва в коя точка на програмата е възникнала грешка.
Можем да бъдем ясни, като разгледаме блок-схемата по-долу:
Изявление на Python
Python има вграден assert
оператор, който да използва условието за твърдение в програмата. assert
изразът има условие или израз, за който се предполага, че винаги е истина. Ако условието е невярно, утвърждаването спира програмата и дава AssertionError
.
Синтаксис за използване на Assert в Pyhton:
твърдя
твърдя,
В Python можем да използваме assert
израз по два начина, както беше споменато по-горе.
assert
изразът има условие и ако условието не е изпълнено, програмата ще спре и ще дадеAssertionError
.assert
израз може също да има условие и незадължително съобщение за грешка. Ако условието не е изпълнено, утвърждаването спира програмата и даваAssertionError
заедно със съобщението за грешка.
Да вземем пример, където имаме функция, която ще изчисли средната стойност на стойностите, предадени от потребителя и стойността не трябва да е празен списък. Ще използваме assert
оператор за проверка на параметъра и ако дължината е на предадения списък е нула, програмата спира.
Пример 1: Използване на assert без съобщение за грешка
def avg(marks): assert len(marks) != 0 return sum(marks)/len(marks) mark1 = () print("Average of mark1:",avg(mark1))
Когато стартираме горната програма, изходът ще бъде:
AssertionError
Получихме грешка, когато предадохме празен списък mark1 към assert
оператор, състоянието стана невярно и отстояването спира програмата и дава AssertionError
.
Сега нека предадем друг списък, който ще задоволи assert
условието и ще видим какъв ще бъде нашият изход.
Пример 2: Използване на assert със съобщение за грешка
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))
Когато стартираме горната програма, изходът ще бъде:
Средна стойност на mark2: 78.0 AssertionError: Списъкът е празен.
Предадохме непразен списък mark2 и също празен списък mark1 на avg()
функцията и получихме изход за списък mark2, но след това получихме грешка AssertionError: List is empty
. В assert
състояние е удовлетворена от списъка с Mark2 и програмата да продължи да се изпълнява. Mark1 обаче не отговаря на условието и дава AssertionError
.
Основни моменти, които трябва да запомните
- Твърденията са условие или булев израз, за които винаги се предполага, че са верни в кода.
assert
израз приема израз и съобщение по избор.assert
израз се използва за проверка на типове, стойности на аргумента и изхода на функцията.assert
израз се използва като инструмент за отстраняване на грешки, тъй като спира програмата в точката, в която възниква грешка.