Du liest:
Python assert: So prüfst du ob Bedingungen erfüllt sind

Python assert: So prüfst du ob Bedingungen erfüllt sind

von Patrick
04.06.2020
Jetzt Python programmieren lernen

In der Programmierung gibt es viele Möglichkeiten, um zu überprüfen, ob eine Bedingung erfüllt ist. Eine davon ist die Python assert Anweisung, welche ich hier kurz vorstellen möchte.

1. So verwendest du die Python assert Anweisung

Mit assert kannst du überprüfen, ob eine bestimmte Voraussetzung wirklich erfüllt ist.

assert True == True

Ist diese nicht erfüllt, wird ein AssertionError ausgelöst.

assert True == False
Traceback (most recent call last):
  File "c:\Users\...\assert_python.py", line 5, in <module>
    assert True == False
AssertionError

Zusätzlich kannst du noch eine mögliche Fehlermeldung angeben.

assert True == False, 'Nein, True ist nicht gleich False'
Traceback (most recent call last):
  File "c:\Users\...\assert_python.py", line 5, in <module>
    assert True == False, 'Nein, True ist nicht gleich False'
AssertionError: Nein, True ist nicht gleich False

Mit der Funktion isinstance kannst du überprüfen, ob ein Objekt von einer bestimmten Klasse stammt.

string = "CodeCitrus"
assert isinstance(string, str)
assert isinstance(string, list), f'{string} ist keine Liste'
Traceback (most recent call last):
  File "c:\Users\...\assert_python.py", line 6, in <module>
    assert isinstance(string, list), f'{string} ist keine Liste'
AssertionError: CodeCitrus ist keine Liste

Natürlich kannst du assert mit jeder Bedingung ausführen, die True oder False als Wert zurückgibt. Entsprechend kannst du einen AssertionError auch mit except abfangen.

try:
    assert len([1, 2, 3]) <= 0, 'Liste hat mehr als 0 Elemente'
except AssertionError as meldung:
    print(meldung)
# Liste hat mehr als 0 Elemente

2. Fazit

assert ist eine sehr einfache Möglichkeit, Bedingungen zu überprüfen. Du kannst diese praktisch genauso angeben, wie du es mit if tun würdest.

Wenn du noch Fragen, Anregungen, Lob oder Kritik hast, schreibe mir bitte einen Kommentar!



Bislang gibt es keine Kommentare. Markier dein Revier und sei der Erste!

Schreibe einen Kommentar

Das könnte dich auch interessieren