У цій статті ми дізнаємося про твердження в 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))
Коли ми запускаємо вищезазначену програму, результат буде:
Середнє значення оцінки 2: 78,0 AssertionError: Список порожній.
Ми передали функції не порожній список mark2, а також порожній список mark1, і avg()
ми отримали вихідні дані для списку mark2, але після цього ми отримали помилку AssertionError: List is empty
. assert
Умова була виконана в списку Mark2 і програми продовжують працювати. Однак mark1 не задовольняє умові і видає AssertionError
.
Основні моменти, які слід пам’ятати
- Твердження - це умова або логічний вираз, які завжди мають бути істинними в коді.
assert
оператор приймає вираз і необов'язкове повідомлення.assert
оператор використовується для перевірки типів, значень аргументу та виводу функції.assert
оператор використовується як інструмент налагодження, оскільки зупиняє програму в точці, де виникає помилка.