xxxxxxxxxx
def divide(a, b):
assert b != 0
print(f"{a} / {b} = {a/ b}")
divide(10, 2)
divide(10, 0)
xxxxxxxxxx
"""Quick note!
This code snippet has been copied by Pseudo Balls.
This is the original answer.
Please consider justice by ignoring his answer.
"""
"""assert:
evaluates an expression and raises AssertionError
if expression returns False
"""
assert 1 == 1 # does not raise an error
assert False # raises AssertionError
# gives an error with a message as provided in the second argument
assert 1 + 1 == 3, "1 + 1 does not equal 3"
"""When line 7 is run:
AssertionError: 1 + 1 does not equal 3
"""
xxxxxxxxxx
x = "hello"
#if condition returns False, AssertionError is raised:
assert x == "goodbye", "x should be 'hello'"
-----------------------------------------------------------------
Traceback (most recent call last):
File "demo_ref_keyword_assert2.py", line 4, in <module>
assert x == "goodbye", "x should be 'hello'"
AssertionError: x should be 'hello'
xxxxxxxxxx
x = "aaa"
#if condition returns False, AssertionError is raised:
assert x == "aaa", "x should be 'aaa'"
xxxxxxxxxx
def input_age(age):
try:
assert int(age) > 18
except ValueError:
return 'ValueError: Cannot convert into int'
else:
return 'Age is saved successfully'
print(input_age('23')) # This will print
print(input_age(25)) # This will print
print(input_age('nothing')) # This will raise ValueError which is handled
print(input_age('18')) # This will raise AssertionError, program collapses
print(input_age(43)) # This won't print
xxxxxxxxxx
# AssertionError with error_message.
x = 1
y = 0
assert y != 0, "Invalid Operation" # denominator can't be 0
print(x / y)
xxxxxxxxxx
## Definition and Usage
## The assert keyword is used when debugging code.
## The assert keyword lets you test if a condition in your code returns True,
## if not, the program will raise an AssertionError.
## You can write a message to be written if the code returns False,
## check the example below.
x = "hello"
#if condition returns False, AssertionError is raised:
assert x == "goodbye", "x should be 'hello'"
xxxxxxxxxx
a = 5
assert a == 5 # True
assert a == 42 # False, the program fails
#OUTPUT
Traceback (most recent call last):
File "none.py", line 155, in <module>
assert a == 42
AssertionError
xxxxxxxxxx
# Simple asserting thing, run it by using pytest or something
# If you don't know how to run pytest, then go learn it.
def test_math():
assert(1 + 1 == 2)
# Another way to test it (without pytest) is:
# You could just run the function to see if it makes an error.
# If it doesn't, it means it was fine, if it does, it means there's an error.
# But then again, using pytest or something is much easier and saves time.
# So try to use testing applications instead of running the function to see.