What Are Assertions In Python?
In Python, assertions are statements that allow developers to test the correctness of their code. If the assertion evaluates to true, nothing happens; otherwise, an AssertionError is raised.
Let's look at how assertions are used in Python first, but first let's create a Book class. Below is an example Python code.
from typing import NamedTuple class Book(NamedTuple): author: str title: str published_year : int
We created a Book class that inherits from the typing module's NamedTuple class. Because NamedTuples are tuples by default, our Book class is immutable.
Creating an instance of the Book class
>>> book1 = Book('Christian Mayer', 'The Art Of Clean Code', 2022) >>> book1 Book(author='Christian Mayer', title='The Art Of Clean Code', published_year=2022)
Let's use the assert statement to test for the truthiness of the published_year.
>>> assert(book1.published_year == "2022") Traceback (most recent call last): File "<stdin>", line 1, in <module> AssertionError >>>
AssertionError was raised because the published_year has an integer type and we tested it against a string.
Now let's test it with a valid year value of 2022
>>> assert(book1.published_year == 2022) >>>
Because, the assertion statement is true nothing happened
Why Use Assertions?
- As a debugging aid rather than an error handling mechanism
- As internal self-checks for a program
- Allows developers to find the likely root cause of a bug more quickly
Top comments (0)