Ternärer bedingter Operator in Python
- Verwendung von den ternären Operator in Python 2.5 und höher
- Der ternäre Operator in Python mit Tupel
-
Der ternäre Operator, der
lambda
für Versionen vor 2.5 in Python verwendet
In diesem Tutorial werden verschiedene Methoden zur Verwendung des ternären Operators in Python definiert. Es gibt eine andere Möglichkeit, den ternären Operator in Python zu verwenden als in anderen Programmiersprachen. Es gibt verschiedene Möglichkeiten, ternäre Operatoren gemäß der Kompatibilität mit der Python-Version zu verwenden. Das Tutorial enthält Beispielcodes zur Erläuterung der Verwendung des ternären Operators in verschiedenen Python-Versionen.
Verwendung von den ternären Operator in Python 2.5 und höher
Der ternäre bedingte Operator wurde in Python 2.5 hinzugefügt. Der ternäre Operator ist definiert als der Operator, der drei Operanden akzeptiert. Bei dieser Methode wird zuerst die gegebene Bedingung ausgewertet, dann wird einer der Werte ausgewertet und basierend auf dem Booleschen Operator zurückgesendet. Es nimmt zuerst den Ausdruck und dann die Bedingung erneut, gefolgt vom else
-Teil des Ausdrucks.
Die Syntax des ternären Operators in Python lautet wie folgt.
value_if if condition else value_else
Wenn der ternäre Operator zuerst die condition
auswertet, ermöglicht er einen Kurzschluss, und nur einer der beiden Ausdrücke wird ausgewertet. Wenn condition
wahr ist, wird der erste Ausdruck value_if
ausgewertet, andernfalls wird der zweite Ausdruck value_else
ausgewertet.
Der folgende Beispielcode zeigt, wie die ternären Operatoren in Python verwendet werden.
a = 2
b = 0
1 if a > b else 0
Ausgabe:
1
Die Ausgabe des ternären bedingten Operators kann einer Variablen zugewiesen werden, wie im folgenden Beispielcode gezeigt.
a = 2
b = 0
temp = a if a > b else b
print(temp)
Ausgabe:
2
Der ternäre Operator in Python mit Tupel
Der ternäre Operator in Python kann mithilfe von Tupeln verwendet werden. Es werden die auszuwertenden Ausdrücke und eine boolesche bedingte Anweisung benötigt. Der zurückzugebende Ausdruck hängt von der booleschen Bedingung ab. Wenn die Bedingung wahr ist, wird der erste Wert zurückgegeben, und wenn der Ausdruck falsch ist, wird der zweite Wert zurückgegeben. In jedem Fall wertet diese Methode jedoch alles aus, anstatt nur den gewinnenden Ausdruck.
Im Folgenden wird ein Beispielcode angegeben, der zeigt, wie dieser ternäre Operator in Python mithilfe von Tupel verwendet werden kann.
a, b = 12, 43
temp = (a * 2, b / 2)[a < b]
print(temp)
Ausgabe:
21.5
Der ternäre Operator, der lambda
für Versionen vor 2.5 in Python verwendet
Für Versionen vor Python 2.5 können die ternären Operatoren mit lambda
verwendet werden. Diese Methode verwendet die zurückzugebenden Werte und einen Booleschen Ausdruck. Diese Methode folgt einer verzögerten Bewertungstechnik, bei der der Bewertungsprozess verzögert wird, bis sein Wert erforderlich ist. In diesem Sinne ist es ein besserer Ansatz als die Tupelmethode. Der Ausdruck in dieser Methode wird als (falseValue, trueValue)[Test]()
angegeben. Wenn die Testbedingung als True
bewertet wird, wird der trueValue
gedruckt. Andernfalls wird falseValue
gedruckt.
Im Folgenden wird ein Beispielcode angegeben, der beschreibt, wie der ternäre Operator mit lambda
in Python verwendet werden kann.
val1, val2 = 12, 43
output = (lambda: val2, lambda: val1)[val1 > val2]()
print(output)
Ausgabe:
43
Syed Moiz is an experienced and versatile technical content creator. He is a computer scientist by profession. Having a sound grip on technical areas of programming languages, he is actively contributing to solving programming problems and training fledglings.
LinkedIn