Vergleich mit Python if-Anweisungen
Bevor wir uns den Beispielen des Python-Switch-Case-Ausdrucks widmen, vergleichen wir ihn mit den traditionellen if-elif-else-Anweisungen.
Betrachten Sie folgendes Beispiel zum Zuordnen von HTTP-Antwortcodes:
response_code = 200
if response_code == 200:
print("OK")
elif response_code == 404:
print("404 Not Found")
elif response_code == 500:
print("Internal Server Error")
Wir können dasselbe Beispiel mit dem Python-Switch-Case-Ausdruck wie folgt umschreiben:
response_code = 201
match response_code:
case 200:
print("OK")
case 404:
print("404 Not Found")
case 500:
print("Internal Server Error")
Wie Sie sehen können, ist der Python-Switch-Case-Ausdruck kürzer und lesbarer als die if-elif-else-Anweisungen.
Hier ist die Syntax für einen Switch-Case-Ausdruck:
match term:
case pattern-1:
action-1
case pattern-2:
action-2
case pattern-3:
action-3
case _:
action-default
Der term ist der Wert, gegen den Sie die Muster abgleichen möchten. Das Muster kann ein einzelner Wert, ein Tupel, eine Liste, eine integrierte Klasse oder eine Kombination davon mit dem oder-Operator (|) sein. Das _ ist ein Fallback-Muster, das jedem Wert entspricht.