Der ternäre Operator in Python ermöglicht es uns, bedingte Prüfungen durchzuführen und Werte zuzuweisen oder Operationen in einer einzelnen Zeile auszuführen. Er wird auch als bedingter Ausdruck bezeichnet, da er eine Bedingung auswertet und einen Wert zurückgibt, wenn die Bedingung wahr ist, und einen anderen, wenn sie falsch ist.
Grundlegendes Beispiel eines ternären Operators
Der einfachste Weg, einen ternären Python-Operator zu verwenden, ist, wenn wir einen einfachen haben wenn sonst Bedingung - Eine der beiden Bedingungen ist wahr und die andere ist falsch.
Beginnen wir mit einem einfachen Beispiel, um festzustellen, ob eine Zahl gerade oder ungerade ist:
Pythonn = 5 res = 'Even' if n % 2 == 0 else 'Odd' print(res)
Ausgabe
Odd
Der ternäre Operator kann auf verschiedene Arten verwendet werden. Sehen wir uns einige verschiedene Beispiele für die Verwendung ternärer Operatoren in Python an:
Inhaltsverzeichnis
- Ternärer Operator in Nested If else
- Ternärer Operator mit Python-Tupel
- Ternärer Operator mit Python-Wörterbuch
- Ternärer Operator mit Python Lambda
- Ternärer Operator mit Druckfunktion
Ternärer Operator in Nested If else
Der ternäre Operator kann auch in verwendet werden In Python verschachtelte if-else-Anweisung . Wir können ternäre Operatoren verschachteln, um mehrere Bedingungen in einer einzigen Zeile auszuwerten.
Syntax: value_if_true, wenn Bedingung, sonst value_if_false
Beispiel:
Python
n = -5 res = 'Positive' if n > 0 else 'Negative' if n < 0 else 'Zero' print(res)
Ausgabe
Negative
Erläuterung:
- Zuerst wird geprüft, ob num > 0 ist. Bei „True“ wird „Positiv“ zurückgegeben.
- Bei „Falsch“ wird geprüft, ob num< 0. If True it returns 'Negative'.
- Wenn beide Bedingungen fehlschlagen, wird der Wert standardmäßig auf „Null“ gesetzt.
Ternärer Operator mit Tupel
Der ternäre Operator kann auch mit geschrieben werden Python-Tupel . Die Tupel-Indizierungsmethode ist eine Alternative zum ternären Operator.
Syntax: (condition_is_false condition_is_true)[Bedingung]
Beispiel:
Pythonn = 7 res = ('Odd' 'Even')[n % 2 == 0] print(res)
Ausgabe
Odd
Erläuterung:
- Die Bedingung „num % 2 == 0“ ergibt „Falsch“ (Index 0) und wählt daher „Ungerade“ aus.
Ternärer Operator mit Wörterbuch
A Wörterbuch kann verwendet werden, um Bedingungen auf Werte abzubilden, was die Möglichkeit bietet, einen ternären Operator mit komplexeren Bedingungen zu verwenden.
Syntax: condition_dict = {True: value_if_true False: value_if_false}
Beispiel:
Pythona = 10 b = 20 max = {True: a False: b}[a > b] print(max)
Ausgabe
20
Erläuterung: Dabei wird ein Wörterbuch verwendet, bei dem der Schlüssel basierend auf der Bedingung a > b „True“ oder „False“ ist. Anschließend wird der entsprechende Wert (a oder b) ausgewählt.
Ternärer Operator mit Python Lambda
Lambdas kann in Verbindung mit dem ternären Operator für Inline-Bedingungslogik verwendet werden.
Syntax: Lambda x: value_if_true, wenn Bedingung, sonst value_if_false
Beispiel:
Pythona = 10 b = 20 max = (lambda x y: x if x > y else y)(a b) print(max)
Ausgabe
20
Erläuterung: Dies definiert eine anonyme Funktion (Lambda), die zwei Argumente akzeptiert und mithilfe des ternären Operators das größere zurückgibt. Es wird dann mit a und b aufgerufen.
Ternärer Operator mit Druckfunktion
Der ternäre Operator kann auch direkt mit verwendet werden Python-Druckanweisung . Seine Syntax ist wie folgt:
Syntax: print(value_if_true, wenn Bedingung, sonst value_if_false)
kein Eingangssignal
Beispiel: In diesem Beispiel ermitteln wir die Mindestzahl zwischen zwei Zahlen mithilfe des ternären Python-Operators mit print-Anweisung.
Pythona = 10 b = 20 print('a is greater' if a > b else 'b is greater')
Ausgabe
b is greater
Erläuterung: Dabei wird geprüft, ob a größer als b ist. Wenn „true“, wird „a ist größer“ ausgegeben; andernfalls wird „b ist größer“ ausgegeben.
Einschränkungen des ternären Python-Operators
Obwohl der ternäre Operator prägnant ist, sollte er mit Vorsicht verwendet werden:
- Es kann die Lesbarkeit beeinträchtigen, wenn es übermäßig oder unter komplexen Bedingungen verwendet wird.
- Es ist auf einfache einzeilige Ausdrücke beschränkt.