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
andgibt True nur zurück, wenn beide Bedingungen wahr sindorgibt True zurück, wenn mindestens eine Bedingung wahr istnotkehrt 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.