Python comes with a handy-dandy
assert keyword that you can use for simple sanity checks. An assertion is simply a boolean expression that checks if its conditions return true or not. If the assertion is true, the program continues. If it’s false, it throws an
AssertionError, and your program will stop. Assertions are also a great debugging tool, as they can stop your program in exactly the spot where an error has occurred. This is great for rooting out unreliable data or faulty assumptions.
To make an assertion, just use the
assert keyword followed by a condition that should be
>>> input_value = 25 >>> assert input_value > 0
If our assertion fails, however:
>>> input_value = 25 >>> assert input_value > 100 Traceback (most recent call last): File "<stdin>", line 1, in <module> AssertionError
assertIs For Sanity Checks, Not For Production!
Assertions are great for simple self-checks and sanity tests. You shouldn’t, however, use assertions for failure cases that can occur because of bad user input or operating system/environment failures, such as a file not being found. These situations are much better suited to an exception or an error message.
Assertions can be disabled at run time, by starting the program with
python -O, so you shouldn’t rely on assertions to run in production code. Don’t use them for validation!