LU04a - Ternärer Bedingungsoperator in Python
Der ternäre Bedingungsoperator ist eine kompakte Möglichkeit, einen von zwei Werten basierend auf einer Bedingung zu wählen. Er ist besonders nützlich für einfache if-else-Fälle, bei denen nur ein Wert abhängig von einer Bedingung bestimmt wird.
Wichtig: Es handelt sich um einen Ausdruck, der einen Wert liefert – er wird häufig in Zuweisungen verwendet, kann aber grundsätzlich überall dort stehen, wo ein Wert erwartet wird.
Syntax
Die Syntax des ternären Bedingungsoperators in Python ist:
x if condition else y
- x: Der Wert, der verwendet wird, wenn die Bedingung wahr ist.
- condition: Die Bedingung, die überprüft wird.
- y: Der Wert, der verwendet wird, wenn die Bedingung falsch ist.
Da es sich um einen Ausdruck handelt, kann der ternäre Operator z. B. auch direkt in Funktionsaufrufen oder anderen Ausdrücken verwendet werden.
Beispiel
Ein einfaches Beispiel könnte die Zuweisung einer Variablen greeting sein, die entweder `„Good morning“` oder `„Good day“` basierend auf der aktuellen Stunde enthält:
hour = 9 # aktuelle Stunde greeting = "Good morning" if hour < 12 else "Good day" print(greeting) # Output: "Good morning"
In diesem Beispiel wird `„Good morning“` ausgegeben, weil die Bedingung `hour < 12` wahr ist.
Vergleich mit if-else-Anweisungen
Der ternäre Bedingungsoperator ist eine verkürzte Form einer if-else-Anweisung. Zum Vergleich, das obige Beispiel könnte auch mit einer herkömmlichen if-else-Anweisung geschrieben werden:
hour = 9 # aktuelle Stunde if hour < 12: greeting = "Good morning" else: greeting = "Good day" print(greeting) # Output: "Good morning"
Der ternäre Bedingungsoperator ist kürzer und oft gut lesbar, sollte aber sparsam und nur bei einfachen Bedingungen verwendet werden, damit der Code verständlich bleibt.
