Автор оригинала: Pankaj Kumar.
Привет всем!! В этом руководстве мы узнаем о ключевых слов Python Assert. Python Assert помогает нам отладить код. Если вы хотите моделировать свой код, как то, что происходит, на каком этапе, вы можете использовать утверждения Python Assert в вашем коде. Каково ожидание для назначения любой переменной может быть обнаружено с использованием ключевого слова Assert в Python?
Python Assert.
Ниже приведена основная структура утверждений Python Assert:
assert condition
Вы также можете отправить информацию с утверждением Assert для лучшего понимания неисправности кода.
Ниже приведен способ дать сообщение с утверждением Assert:
assert condition, your message
Заявление Python Assert
Заявление Python Assert принимает условие, условие должно быть правдой. Если условие верно, что означает утверждение значения переменной в порядке, то программа будет работать гладко, и следующие операторы будут выполнены. Но, если условие ложно (это означает, что в нашем коде есть некоторая ошибка), то она повышает исключение.
Python Assert Пример
Мы хотим написать функцию, которая вернет фактор из двух номеров. Ниже приведен код:
# defining the function definition def divide(num1, num2): assert num2 > 0 , "Divisor cannot be zero" return num1/num2 # calling the divide function a1 = divide(12,3) # print the quotient print(a1) # this will give the assertion error a2 = divide(12,0) print(a2)
Если мы запустим вышеуказанный код, то выход будет:
4.0 Traceback (most recent call last): File "D:/T_Code/PythonPackage3/Assert.py", line 10, in a2 = divide(12,0) File "D:/T_Code/PythonPackage3/Assert.py", line 3, in divide assert num2>0 , "Divisor cannot be zero" AssertionError: Divisor cannot be zero
В третьей строке вышеуказанного кода вы можете увидеть заявление Assert. В этой строке проверяется, что вариабельное значение NUM2 больше 0 или нет. Если больше нуля I.e. Состояние верно, то проблема не происходит, и мы получаем вывод соответственно.
Но когда мы назвали подразделение функции () с 2-м аргументом 0, то состояние Assert является ложным. Вот почему A AssertionError
Происходит, и это дает сообщение «Divisor не может быть нулевым», что мы написали в сообщении частью утверждения Python Assert. Узнайте больше о Обработка исключений Python Отказ
Python Assert Пример с переменной заменой
Рассмотрим следующий код, мы пытаемся найти квадратный корень уравнения, говорят (B2 - 4AC)
Отказ
import math def sqrt(a,b,c): assert b*b >= 4*a*c, "Cannot find square root of negative number, found %s < %s" % (b*b, 4*a*c) return math.sqrt(b*b - 4*a*c) print(sqrt(10, 12, 3)) # this will cause assertion error print(sqrt(-4, 5, -3))
Вывод будет:
Вот как мы можем использовать утверждения Python Assert для отладки и нахождения ошибок в нашем коде на этапе тестирования. Вы можете узнать больше о тестировании, используя Unitest модуль.