Saltar al contenido

Operador ternario en Python – GeeksforGeeks

septiembre 29, 2021
gfg 200x200 min

Los operadores ternarios también se conocen como expresiones condicionales, son operadores que evalúan algo en función de que una condición sea verdadera o falsa. Se agregó a Python en la versión. 2.5.
Simplemente permite probar una condición en un linea sola reemplazando el if-else multilínea haciendo que el código sea compacto.

Sintaxis:

[on_true] if [expression] else [on_false] 
  • Método simple para usar el operador ternario:

Pitón

a, b = 10, 20

min = a if a < b else b

print(min)

Producción:

10
  • Método directo mediante tuplas, diccionario, y lambda

Pitón

a, b = 10, 20

print( (b, a) [a < b] )

print({True: a, False: b} [a < b])

print((lambda: b, lambda: a)[a < b]())

Producción:

10
10
10
  • El operador ternario se puede escribir como if-else anidado:

Pitón

a, b = 10, 20

print ("Both a and b are equal" if a == b else "a is greater than b"

        if a > b else "b is greater than a")

El enfoque anterior se puede escribir como:

Pitón

a, b = 10, 20

if a != b:

    if a > b:

        print("a is greater than b")

    else:

        print("b is greater than a")

else:

    print("Both a and b are equal")

Producción:

 b is greater than a

Puntos importantes:

  • Primero se evalúa la condición dada (a
  • El orden de los argumentos en el operador es diferente al de otros lenguajes como C / C ++ (Ver operadores ternarios C / C ++).
  • Las expresiones condicionales tienen la prioridad más baja entre todas las operaciones de Python.

Método utilizado antes de 2.5 cuando los operador ternario no estaba presente
En una expresión como la que se da a continuación, el intérprete verifica la expresión si esto es verdadero, entonces se evalúa on_true, de lo contrario se evalúa on_false.

Sintaxis:

'''When condition becomes true, expression [on_false]
   is not executed and value of "True and [on_true]"
   is returned.  Else value of "False or [on_false]"
   is returned.
   Note that "True and x" is equal to x. 
   And "False or x" is equal to x. '''
[expression] and [on_true] or [on_false] 

Ejemplo :

Pitón

a, b = 10, 20

min = a < b and a or b

print(min)

Producción:

10

Nota : El único inconveniente de este método es que on_true no debe ser cero o falso. Si esto sucede, on_false se evaluará siempre. La razón de esto es que si la expresión es verdadera, el intérprete verificará on_true, si será cero o falso, eso obligará al intérprete a verificar on_false para dar el resultado final de toda la expresión.

Este artículo es una contribución de Mayank Rawat y mejorado por Shubham Bansal. Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o envíe su artículo por correo electrónico a [email protected] Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema discutido anteriormente.

¡Atención geek! Fortalece tus cimientos con el Fundación de programación de Python Curso y aprende los conceptos básicos.

Para empezar, los preparativos de su entrevista Mejore sus conceptos de estructuras de datos con el Python DS Curso. Y para comenzar con su viaje de aprendizaje automático, únase al Aprendizaje automático – Curso de nivel básico

close