Изявление на Python Assert

В тази статия ще научим за твърдение в Python с помощта на assert.

Какво е твърдение?

Твърденията са твърдения, които твърдят или твърдят даден факт уверено във вашата програма. Например, докато пишете функция за деление, вие сте уверени, че делителят не трябва да е нула, вие твърдите, че делителят не е равен на нула.

Твърденията са просто булеви изрази, които проверяват дали условията връщат истина или не. Ако е вярно, програмата не прави нищо и преминава към следващия ред код. Ако обаче е невярно, програмата спира и извежда грешка.

Той също така е инструмент за отстраняване на грешки, тъй като спира програмата при спиране веднага след възникването на грешка и показва в коя точка на програмата е възникнала грешка.

Можем да бъдем ясни, като разгледаме блок-схемата по-долу:

Изявление на Python

Python има вграден assertоператор, който да използва условието за твърдение в програмата. assertизразът има условие или израз, за ​​който се предполага, че винаги е истина. Ако условието е невярно, утвърждаването спира програмата и дава AssertionError.

Синтаксис за използване на Assert в Pyhton:

 твърдя 
 твърдя,

В Python можем да използваме assertизраз по два начина, както беше споменато по-горе.

  1. assertизразът има условие и ако условието не е изпълнено, програмата ще спре и ще даде AssertionError.
  2. 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 израз се използва като инструмент за отстраняване на грешки, тъй като спира програмата в точката, в която възниква грешка.

Интересни статии...