13.10 assert 

Mithilfe des Schlüsselworts assert lassen sich Konsistenzabfragen in ein Python-Programm integrieren. Durch das Schreiben einer assert-Anweisung legt der Programmierer eine Bedingung fest, die für die Ausführung des Programms essenziell ist und die bei Erreichen der assert-Anweisung zu jeder Zeit True ergeben muss. Wenn die Bedingung einer assert-Anweisung False ergibt, wird eine AssertionError-Exception geworfen. In der folgenden Sitzung im interaktiven Modus wurden mehrere assert-Anweisungen eingegeben:
>>> import math >>> assert math.log(1) == 0 >>> assert math.sqrt(4) == 1 Traceback (most recent call last): File "<stdin>", line 1, in <module> AssertionError >>> assert math.sqrt(9) == 3 >>>
Die assert-Anweisung ist damit ein wichtiges Hilfsmittel zum Aufspüren von Fehlern und ermöglicht es, den Programmlauf zu beenden, wenn bestimmte Voraussetzungen nicht gegeben sind. Häufig prüft man an Schlüsselstellen im Programm mittels assert, ob alle Referenzen die erwarteten Werte referenzieren, um eventuelle Fehlberechnungen rechtzeitig und umfassend erkennen zu können.
Beachten Sie, dass assert-Anweisungen üblicherweise nur während der Entwicklung eines Programms benötigt werden und in einem fertigen Programm eher stören würden. Von daher werden assert-Anweisungen nur dann ausgeführt, wenn die globale Konstante __debug__ True referenziert. Diese Konstante referenziert nur dann False, wenn der Interpreter mit der Kommandozeilenoption -O gestartet wurde. Wenn die Konstante __debug__ False referenziert, werden assert-Anweisungen ignoriert und haben damit keinen Einfluss mehr auf die Laufzeit Ihres Programms.
Beachten Sie, dass Sie den Wert von __debug__ im Programm selbst nicht verändern dürfen, sondern nur über die Kommandozeilenoption -O bestimmen können, ob assert-Anweisungen ausgeführt oder ignoriert werden sollen.