Assertions (auf Deutsch: Behauptungen oder Zusicherungen) sind Programmierkonstrukte, mit denen du Annahmen über den Zustand deines Programms überprüfst. Eine Assertion prüft, ob eine bestimmte Bedingung wahr ist – wenn nicht, wird typischerweise ein Fehler ausgelöst und das Programm abgebrochen.
x = 10
assert x > 0 # läuft problemlos
assert x < 5 # AssertionError, weil x nicht kleiner als 5 ist
Sie helfen beim Debuggen: Du überprüfst, ob bestimmte Voraussetzungen im Code erfüllt sind.
Sie dokumentieren implizite Annahmen: z. B. „An dieser Stelle muss die Liste mindestens ein Element haben.“
Sie dienen der Fehlersuche in der Entwicklungsphase – im Produktivcode werden sie oft deaktiviert.
Assertions sollen Programmfehler aufdecken, nicht Benutzereingaben oder äußere Einflüsse abfangen. Beispiel:
assert age > 0 → falsch, wenn age aus Benutzereingabe stammt.
Stattdessen: if age <= 0: raise ValueError("Alter muss positiv sein.")