Skip to content

Python - Match-Case Statement

Python3
  • Warum wollte iich unbedingt mal endlci Python 3.10 ausprobieren? Wegen dem Match-Case Statement. Ich wollte mal ausprobieren, ob das angenehmer zu programmieren ist, als diese verschachtelten if-else Statements.

    Aus der Anleitung

    match subject:
        case <pattern_1>:
            <action_1>
        case <pattern_2>:
            <action_2>
        case <pattern_3>:
            <action_3>
        case _:
            <action_wildcard>
    

    Einen schönen Beitrag habe ich auch im Internet gefunden. Ok, hier mal ein Beispiel.

    match_list = [backup_data[row].rest, bool(backup_data[row].password)]
    match match_list:
    

    Ich erzeuge eine Liste, mit zwei Variablen.

    • backup_data[row].rest - 0/1
    • backup_data[row].password - password/keines gesetzt

    Das kann man dann abfragen mit

    case ["0", False]:
    

    Dann gibt es in meinem Fall noch

    case["0", True]:
    case["1", False]:
    case["1", False]:
    

    Dann könnten man noch das hier machen

    case _:
    

    Der fängt alles ab, was vorher nicht erfolgreich war.

    Ich finde das recht praktisch, weil es doch um einiges angenehmer zu lesen ist.