В этой статье мы узнаем об утверждении в Python с помощью assert.
Что такое утверждение?
Утверждения - это утверждения, которые уверенно утверждают или констатируют факт в вашей программе. Например, при написании функции деления вы уверены, что делитель не должен быть нулевым, вы утверждаете, что делитель не равен нулю.
Утверждения - это просто логические выражения, которые проверяют, возвращают ли условия истинность или нет. Если это правда, программа ничего не делает и переходит к следующей строке кода. Однако, если оно ложно, программа останавливается и выдает ошибку.
Это также инструмент отладки, так как он останавливает программу, как только возникает какая-либо ошибка, и показывает, в какой точке программы произошла ошибка.
Мы можем прояснить ситуацию, посмотрев на блок-схему ниже:
Заявление Python assert
Python имеет встроенный assert
оператор для использования в программе условия утверждения. assert
В заявлении есть условие или выражение, которое должно быть всегда истинным. Если условие ложно, assert останавливает программу и дает команду AssertionError
.
Синтаксис для использования Assert в Pyhton:
утверждать
утверждать,
В Python мы можем использовать assert
оператор двумя способами, как указано выше.
assert
Оператор имеет условие, и если условие не выполняется, программа остановится и выдаст ошибкуAssertionError
.assert
Оператор также может иметь условие и необязательное сообщение об ошибке. Если условие не выполняется, 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
оператор, условие стало ложным, а 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
Оператор используется как инструмент отладки, поскольку он останавливает программу в точке, где возникает ошибка.