Python match case und Vergleichsoperatoren: Von if bis Pattern Matching

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Bedingte Anweisungen in Python: Das komplette Handbuch

Bedingte Anweisungen sind ein grundlegendes Element der Programmierung. Sie ermöglichen Entscheidungen im Code und führen bestimmte Aktionen nur aus, wenn definierte Bedingungen erfüllt sind. Python bietet Entwicklern ein leistungsstarkes Set an Werkzeugen für die Arbeit mit bedingter Logik.

Die wichtigsten Arten von bedingten Anweisungen

In der Programmiersprache Python stehen folgende Arten von bedingten Anweisungen zur Verfügung:

  • Klassische Konstrukte: if, elif und else
  • Logische Operatoren: and, or, not
  • Vergleichsoperatoren: ==, !=, <, >, is, in
  • Strukturelles Pattern Matching mit match case (ab Version 3.10)

Jedes dieser Werkzeuge hat seine eigenen Anwendungsbereiche und eignet sich für bestimmte Programmieraufgaben.

Basiswissen: Bedingte Konstrukte

Die if-elif-else-Struktur

Das Herzstück der bedingten Logik in Python ist die if-elif-else-Konstruktion:

x = 10
if x > 0:
    print("Positiv")
elif x == 0:
    print("Null")
else:
    print("Negativ")

Python verwendet Einrückungen, um Codeblöcke zu definieren – anstelle von geschweiften Klammern. Die korrekte Verwendung von Einrückungen ist entscheidend, da sie ein Teil der Sprachsyntax sind.

Syntax-Besonderheiten

Einrückungen in Python müssen im gesamten Code konsistent sein. Es wird empfohlen, 4 Leerzeichen pro Verschachtelungsebene zu verwenden. Das Mischen von Leerzeichen und Tabulatoren kann zu Laufzeitfehlern führen.

Vergleichsoperatoren in Python

Python unterstützt eine breite Palette von Vergleichsoperatoren, mit denen du komplexe Bedingungen erstellen kannst:

Arithmetische Vergleiche

  • == prüft auf Wertgleichheit
  • != prüft auf Ungleichheit
  • < und > vergleichen auf kleiner bzw. größer
  • <= und >= schließen die Gleichheit mit ein

Spezielle Operatoren

Der Operator is prüft die Identität von Objekten im Speicher, nicht die Wertgleichheit. Der Operator in prüft, ob ein Element in einer Sammlung enthalten ist.

s1 = "hallo"
s2 = "hallo"
print(s1 == s2)  # True - Wertgleichheit
print(s1 is s2)  # True bei internierten Strings

String-Vergleiche und Besonderheiten

Python interniert automatisch kurze Strings. Das bedeutet, dass identische Strings auf dasselbe Objekt im Speicher verweisen können. Dies beeinflusst das Ergebnis eines Vergleichs mit is.

Logische Operatoren: and, or, not

Logische Operatoren ermöglichen es, mehrere Bedingungen in einem Ausdruck zu kombinieren:

a = 5
b = 10
if a > 0 and b > 0:
    print("Beide sind positiv")

Funktionsweise der logischen Operatoren

  • and gibt True nur zurück, wenn beide Bedingungen wahr sind
  • or gibt True zurück, wenn mindestens eine Bedingung wahr ist
  • not kehrt den logischen Wert um

Kurzschlussauswertung

Python verwendet das Prinzip der Kurzschlussauswertung bei der Berechnung logischer Ausdrücke. Das bedeutet: Wenn das Ergebnis bereits durch den ersten Operanden feststeht, wird der zweite nicht mehr ausgewertet.

Verschachtelte bedingte Konstrukte

Bedingte Anweisungen können ineinander verschachtelt werden, um komplexere Logik abzubilden:

x = 15
if x > 0:
    if x < 10:
        print("Kleiner als 10")
    else:
        print("Ab 10 und aufwärts")

Empfehlungen zur Nutzung

Übermäßige Verschachtelung kann die Lesbarkeit des Codes beeinträchtigen. Es wird empfohlen, sich auf 3-4 Verschachtelungsebenen zu beschränken und komplexe Logik bei Bedarf in separate Funktionen auszulagern.

match case in Python 3.10+

Einführung in das strukturelle Pattern Matching

Blogs

Buchempfehlungen