Python 3.10 kann endlich Switch-Case-Statement
Mi, 6. Oktober 2021, Ralf Hersel
Darauf haben viele Entwickler und Entwicklerinnen gewartet. Bis zur heute erschienenen Version 3.10 der Programmiersprache Python, musste man sich mit if/elif-Konstrukten behelfen, um das Switch-Case-Statement abzubilden. Bei Python 3.10 nennt sich dieses Statement nun match.
Hier ein Beispiel:
def http_error(status):
match status:
case 400:
return "Bad request"
case 404:
return "Not found"
case 418:
return "I'm a teapot"
case 401 | 403 | 404:
return 'Not allowed'
case _:
return "Something else"
Das oben gezeigte Beispiel prüft den Inhalt der Variable status auf verschiedene Inhalte. Dies geschieht mit einer Reihe von case Statements. Der else-Fall wird mit case _ abgebildet. Die zu prüfenden Literale können mit dem OR-Operator | verbunden werden. Das match-Statement kann mit verschiedenen Datentypen umgehen, wie zum Beispiel Sequenzen (Listen, Tupel etc.), Mapping-Strukturen (z.B. Wörterbücher), primitive Datentypen oder Klasseninstanzen. In der Dokumentation zu Python 3.10 finden sich viele weitere Beispiele zur Verwendung des match-Statements.
Welche Neuerungen ansonsten mit Version 3.10 erschienen sind, findet man in der Quelle: