Assertions and __debug__

The assert statement can introduce debugging code into a program. The general form of assert is

assert test [, data]

where test is an expression that should evaluate to true or false. If test evaluates to false, assert raises an AssertionError exception with the optional data supplied to the assert statement. For example:

def write_data(file,data):
    assert file, "write_data: file is None!"
    ...

Assertions are not checked when Python runs in optimized mode (specified with the –O option).

In addition to assert, Python provides the built-in read-only variable __debug__, which is set to 1 unless the interpreter is running in optimized mode (specified with the -O option). Programs can examine this variable as needed—possibly ...

Get Python: Essential Reference, Third Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.