Tutorial Playlist
Python's assert keyword is an effective testing and debugging utility. It enables programmers to validate assumptions and verify particular conditions within code. When an assertion is made, Python evaluates the expression following the "assert" keyword. This article provides an in-depth understanding of the assert keyword in Python using examples and code illustrations.
Assert keyword in Python example 1:
x = “good”
assert x == “good”
#the statement is true, and therefore nothing happens
assert x == “bad”
#the statement is false and shows an assertion error.
The assert keyword in Python is used for several reasons. Additionally, the Python assert in production code serves many benefits. The usefulness of the assert keyword in Python can be understood by the example below:
Example 2:
def divide(a, b):
assert b != 0, "Error: Division by zero!"
return a / b
numerator = 10
denominator = 0
result = divide(numerator, denominator)
print(result)
Explanation: The assert statement checks whether the denominator is not equal to zero (b !=0). The assert statement returns False since the denominator is set to 0, and the code shows an assertion error with the message “Error: Division by zero!"
The assert Python 3 is mainly used for debugging codes. You can use it when you want to ensure that the conditions embedded in your code are satisfied.
Example 3:
x = “red”
assert x == “pink”, “x should be ‘red’”
In the above example, the assert function checks whether the variable x has an input string “pink.” Since x has already been defined as “red,” the assert returns False, and the code displays the following assertion error, “x should be ‘red.’”
In a tedious code, the assert statement is important to avoid the mistake of inserting unspecified conditions in your code. This ensures that your code runs error-free.
In Python, the assert keyword is easy to understand due to its simple execution. The code below depicts the assert keyword in a Python example.
Example 4:
def check_even_number(num):
assert num % 2 == 0, "Number is not even!"
print("Number is even.")
Trial 1: check_even_number(4)
Output: The number is even
Trial 2: check_even_number(7)
Output: The number is not even!
Explanation:
It is easy to comprehend the working of this statement from the flowchart given below:
When an "AssertionError" is raised in Python, the normal implementation of the program is interrupted, and its progress is halted. This error indicates that an assertion statement failed, meaning the assertion's condition was evaluated as False.
The assert keyword in Python follows a simple format. This is given by:
assert condition, error_message (optional)
Example 5:
a=10
b=2
assert b!=0, “error: division by zero”
print(“result”, a/b)
Here, assert b!=0 is an assert condition that checks whether b (denominator) is not equal to zero. In case it is zero, the error_message (error: division by zero) is displayed.
The assert keyword in Python need not have an error message. The error message is optional. The following example shows how the error message is not really needed while inserting an assert keyword in a program.
Example 6:
# initializing number
a = 7
b = 0
# using assert to check for 0
print("The value of a / b is : ")
assert b != 0
print(a / b)
Output: Assertion error:
The assert statement detects that the condition is false and raises an assertion error Python. Since the error is not specified, the output doesn’t specify the error too.
The assert keyword in Python goes well with an error message. Python asserts with a message is good because:
Example 7:
def calculate_average(numbers):
assert len(numbers) > 0, "Error: List is empty!"
average = sum(numbers) / len(numbers)
return average
empty_data = []
result = calculate_average(empty_data)
print(f"The average is: {result}")
Output: “Error: List is empty!"
Assert inside a function is used within a function’s code. It serves the same property as before i.e. checking for the validity of assumptions and conditions. It also ensures that specific conditions hold true at any point during the execution of the function.
Example 8:
The code below comprises a function for calculating the discounted price from the original price by asserting the value of the discount percentage in the range [0,100].
def calculate_discounted_price(original_price, discount):
assert discount >= 0 and discount <= 100, "Invalid discount percentage!"
discounted_price = original_price - (original_price * (discount / 100))
return discounted_price
#trial
price = 1000
discount_percentage = 120
final_price = calculate_discounted_price(price, discount_percentage)
print(f"The final price after a {discount_percentage}% discount is: ${final_price}")
Output "Invalid discount percentage!"
Since the discount percentage is set to 120, the assert statements return false, and the program fails by showing the error message.
The assert keyword in Python takes the boolean expression as its argument, returning either false or true. The example can understand this:
def check_positive_number(num):
assert num > 0, "Number should be positive!"
print("Number is positive.")
# Trial and output
check_positive_number(5) # Valid positive number
check_positive_number(-2) # Invalid positive number
The assert keyword in Python is not a variable. It is just a keyword. This is because:
Asserting dictionary values in Python involves verifying the veracity or validity of specific dictionary values. This can be accomplished by combining the "assert" statement with dictionary access and comparison operations
Example:
person = {
'name': 'John,'
'age': 30,
'country': 'USA'
}
assert person['name'] == 'John', "Incorrect name value"
assert person['age'] >= 18, "Age should be 18 or greater"
assert person['country'] in ['USA,' 'Canada'], "Invalid country"
print("All dictionary values are valid.")
In practical terms, the keyword "assert" assists with the following:
The assert keyword in Python is essential for various reasons in the programming languages. The different syntax for assert statements enables the user to verify the conditions and assumptions included in the code. However, it is important to remember that assert in Python is a keyword, not a variable type.
Q1. Should assert be used?
Assert should be used for debugging and testing code.
Q2. What is the result of assert in Python?
The assert raises an error if the false value is returned.
Q3. What is the difference between try-except and assert?
Try and except blocks are used for handling exceptions. The assert is used for verifying conditions for the function.
PAVAN VADAPALLI
Popular
Talk to our experts. We’re available 24/7.
Indian Nationals
1800 210 2020
Foreign Nationals
+918045604032
upGrad does not grant credit; credits are granted, accepted or transferred at the sole discretion of the relevant educational institution offering the diploma or degree. We advise you to enquire further regarding the suitability of this program for your academic, professional requirements and job prospects before enrolling. upGrad does not make any representations regarding the recognition or equivalence of the credits or credentials awarded, unless otherwise expressly stated. Success depends on individual qualifications, experience, and efforts in seeking employment.
upGrad does not grant credit; credits are granted, accepted or transferred at the sole discretion of the relevant educational institution offering the diploma or degree. We advise you to enquire further regarding the suitability of this program for your academic, professional requirements and job prospects before enr...