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

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.


© Kevin Maurizi