Operador condicional ternario en Python

Syed Moiz Haider 30 enero 2023
  1. Utilice el operador ternario en Python 2.5 y superior
  2. El operador ternario en Python usando Tuple
  3. El operador ternario que usa lambda para versiones anteriores a la 2.5 en Python
Operador condicional ternario en Python

Este tutorial definirá diferentes métodos para usar el operador ternario en Python. Hay una forma diferente de usar el operador ternario en Python en comparación con otros lenguajes de programación. Hay varias formas de usar operadores ternarios según la compatibilidad con la versión de Python. El tutorial proporcionará códigos de ejemplo para explicar cómo usar el operador ternario en diferentes versiones de Python.

Utilice el operador ternario en Python 2.5 y superior

El operador condicional ternario se agregó en Python 2.5. El operador ternario se define como el operador que toma tres operandos. En este método, primero, se evalúa la condición dada, luego se evalúa uno de los valores y se devuelve según el operador booleano. Primero toma la expresión, y luego viene la condición nuevamente, seguida por la parte else de la expresión.

La sintaxis del operador ternario en Python es la siguiente.

value_if if condition else value_else

Como el operador ternario evalúa primero la condition, permite el cortocircuito y solo se evaluará una de las dos expresiones. Si condition es verdadera, la primera expresión value_if se evalúa; de lo contrario, se evalúa la segunda expresión value_else.

El siguiente código de ejemplo demuestra cómo utilizar los operadores ternarios en Python.

a = 2
b = 0
1 if a > b else 0

Producción :

1

La salida del operador condicional ternario se puede asignar a una variable, como se muestra en el código de ejemplo a continuación.

a = 2
b = 0
temp = a if a > b else b
print(temp)

Producción :

2

El operador ternario en Python usando Tuple

El operador ternario en Python se puede utilizar mediante tuplas. Se necesitan las expresiones a evaluar y una declaración condicional booleana. La expresión que se devolverá depende de la condición booleana. Si la condición es verdadera, se devuelve el primer valor y si la expresión es falsa, se devuelve el segundo valor. Sin embargo, en cualquier caso, este método evaluará todo en lugar de solo la expresión ganadora.

A continuación se proporciona un código de ejemplo para demostrar cómo se puede usar este operador ternario en Python usando tupla.

a, b = 12, 43
temp = (a * 2, b / 2)[a < b]
print(temp)

Producción :

21.5

El operador ternario que usa lambda para versiones anteriores a la 2.5 en Python

Para versiones anteriores a Python 2.5, los operadores ternarios se pueden usar con lambda. Este método toma los valores que se devolverán y una expresión booleana. Este método sigue una técnica de evaluación perezosa en la que el proceso de evaluación se retrasa hasta que se requiere su valor. Es un mejor enfoque que el método de tuplas en este sentido. La expresión en este método se da como (falseValue, trueValue)[Test](). Si la condición de prueba se evalúa como True, se imprimirá el trueValue; de lo contrario, se imprime falseValue.

A continuación se proporciona un código de ejemplo para describir cómo se puede utilizar el operador ternario con lambda en Python.

val1, val2 = 12, 43

output = (lambda: val2, lambda: val1)[val1 > val2]()

print(output)

Producción :

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

Artículo relacionado - Python Operator