En Pitón , el operador ternario determina si una condición es verdadera o falsa y luego devuelve el valor apropiado como resultado. El operador ternario es útil en los casos en los que necesitamos asignar un valor a una variable en función de una condición simple y queremos mantener nuestro código más conciso, todo en una sola línea de código.
Es conveniente cuando queremos evitar escribir varias líneas para una simple condición if-else. Como en simple if-else, la primera opción, la verdadero valor Se ejecutará cuando la condición proporcionada en la expresión sea Verdadera. Si la condición devuelve False, entonces valor_falso será ejecutado.
Syntax: true_value if condition else false_value>
El operador ternario se puede utilizar de varias formas. Veamos algunos ejemplos diferentes para usar operadores ternarios en Python:
Tabla de contenidos
- Python ternario si no
- Operador ternario en If anidado más
- Operador ternario usando Python Tuple
- Operador ternario usando el diccionario Python
- Operador ternario usando Python Lambda
- Operador ternario con función de impresión
- Limitaciones del operador ternario de Python
Python ternario si no
La forma más sencilla de utilizar un operador ternario de Python es cuando tenemos un simple si otra condición , es decir, cualquiera de las dos condiciones es Verdadera y la otra es Falsa.
Ejemplo: En este código compararemos y encontraremos el número mínimo de los dos números dados usando los operadores ternarios en Python y almacenando el resultado en un nombre de variable. 'mínimo'. Si ' a ' es mínimo, el valor de ' a 'se imprimirá, de lo contrario se imprimirá el valor de' b 'se imprimirá.
Pitón # Program to demonstrate ternary operator a = 10 b = 20 # python ternary operator min = 'a is minimum' if a < b else 'b is minimum' print(min)>
Producción:
a is minimum>
Operador ternario en If anidado más
El operador ternario también se puede utilizar en Declaración if-else anidada en Python . la sintaxis del mismo es la siguiente:
Syntax: true_value if condition1 else (true_value if condition2 else false_value)>
Ejemplo: En este ejemplo, utilizamos un if-else anidado para demostrar el operador ternario. Si ' a' y ' b 'son iguales, entonces imprimiremos 'a y b son iguales' y, de lo contrario, si 'a' es mayor que 'b', imprimiremos 'a es mayor que b'; de lo contrario, 'b es mayor que a'.
Pitón # Python program to demonstrate nested ternary operator a = 10 b = 20 print('Both are equal' if a == b else 'a is greater' if a>b else 'b es mayor')> Producción:
b is greater>
Operador ternario usando Python Tuple
El operador ternario también se puede escribir usando tuplas de pitón . En este caso declaramos los valores Falso y Verdadero dentro de una tupla en el índice 0 y 1 respectivamente. Según la condición, si el resultado es Falso, es decir 0, se ejecuta el valor en el índice 0. Si la condición resulta en Verdadero, se ejecuta el valor en el índice 1 de la tupla.
Syntax: (false_value, true_value) [condition]>
Ejemplo: En este ejemplo compararemos e imprimiremos el valor mínimo, donde los valores a ejecutar se declaran dentro de la tupla.
Pitón # Program to demonstrate ternary operator a = 10 b = 20 # python ternary operator usinf tuple print(('b is minimum', 'a is minimum') [a < b])> Producción:
a is minimum>
Operador ternario usando el diccionario Python
El operador ternario de Python también se puede escribir usando diccionario de pitón . En este caso utilizamos palabras clave Verdadero y Falso como claves del diccionario y les proporcionamos un valor para que se ejecuten en función del resultado de la condición.
Syntax: (True: true_value, False: false_value) [condition]>
Ejemplo: En este ejemplo, estamos usando Diccionario para demostrar el operador ternario, donde hemos dado valores Verdadero y Falso a las claves del diccionario, que se ejecutarán según el resultado de la condición.
Pitón # Python program to demonstrate ternary operator a, b = 10, 20 print({True: 'a is minimum', False: 'b is minimum'} [a < b])> Producción:
agrupamiento
a is minimum>
Operador ternario usando Python Lambda
En pitón, funciones lambda se utilizan cuando solo tenemos una expresión para evaluar. Por lo tanto, utilizar el operador teranery con lambda lo hace bastante simple y fácil. Funciona exactamente igual que la tupla. Es decir, declaramos los valores Falso y Verdadero en el índice 0 y 1 respectivamente.
Syntax: (lambda: false_value, lambda: true_value) [condition] ()>
Ejemplo: En este ejemplo, utilizamos Lambda para demostrar el operador ternario. Estamos usando tupla para seleccionar un elemento y si [a
Pitón # Python program to demonstrate ternary operator a = 10 b = 20 print((lambda: 'b is minimum', lambda: 'a is minimum')[a < b]())>
Producción:
a is minimum>
Operador ternario con función de impresión
El operador ternario también se puede utilizar directamente con el Declaración de impresión de Python . Su sintaxis es la siguiente:
Syntax: print(true_value) if (condition) print(false_value)>
Ejemplo: En este ejemplo, encontramos el número mínimo entre dos números usando el operador ternario de Python con declaración impresa.
Pitón a = 10 b = 20 # ternary operator with print statement print(a,'is minimum') if (a < b) else print(b,'is minimum')>
Producción:
10 is minimum>
Limitaciones del operador ternario de Python
El operador ternario de Python se utiliza para escribir declaraciones condicionales concisas, pero también tiene algunas limitaciones.
- Legibilidad: T El operador aleatorio puede hacer que las expresiones condicionales simples sean más concisas, también puede reducir la legibilidad de su código, especialmente si la condición y las expresiones son complejas.
- Potencial de error : La colocación incorrecta de paréntesis, la falta de dos puntos o el orden incorrecto de las expresiones pueden provocar errores de sintaxis que pueden ser más difíciles de detectar.
- Depuración : Al depurar, puede resultar más difícil inspeccionar los valores de las variables involucradas en una expresión ternaria compleja.
- Mantenimiento y extensibilidad : Las expresiones ternarias complejas pueden volverse más difíciles de mantener y ampliar, especialmente cuando crece el código base.
- No puedo usar declaraciones de asignación: Cada operando del operador ternario de Python es un expresión , no una declaración, eso significa que no podemos usar declaraciones de asignación dentro de ninguna de ellas. De lo contrario, el programa arrojará un error.
Ejemplo:
Pitón 3 if True else x=6>
Producción:
File 'Solution.py', line 1 3 if True else x=6 ^ SyntaxError: can't assign to conditional expression>