Ternärer bedingter Operator in Python

Syed Moiz Haider 30 Januar 2023
  1. Verwendung von den ternären Operator in Python 2.5 und höher
  2. Der ternäre Operator in Python mit Tupel
  3. Der ternäre Operator, der lambda für Versionen vor 2.5 in Python verwendet
Ternärer bedingter Operator in Python

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 Haider avatar Syed Moiz Haider avatar

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

Verwandter Artikel - Python Operator