Operador Ternario en Python

El operador ternario en Python, al igual que en otros lenguajes, tiene la finalidad de hacer más compacta una condición If, permitiendo generar código condicionado en una sola línea. Este operador es común en varios lenguajes y aunque no es ampliamente usado si que tiene sus ventajas. Tiene la siguiente forma general:

» Más ejemplos de Python

#
#     [código si se cumple] if [condición] else [código si no se cumple]
#

En una sentencia If normal tendríamos algo como esto:

valor = 10
if valor == 10:
    print("El valor es 10")
else:
    print("El valor es 20")

Como puedes ver, se requiere al menos de dos líneas para imprimir una de las dos cadenas. Con el operador ternario podríamos reducir el código con el mismo resultado de la siguiente forma:

valor = 10
print("El valor es 10" if valor == 10 else "El valor es 20")

Es posible además, hacer asignaciones y operaciones que se determinan por el resultado de la condición después del If.

valor = True
a = 100
b = 1000
i = a/10 if valor else b/10
print(i)

El resultado en consola de este ejemplo será el siguiente:

Operador Ternario en Python

Si el valor de la condición es verdadera se divide «a» entre diez y si es falsa se divide «b» entre diez. La condición podría ser «valor == True» para ser más explícitos, pero la idea es compactar el código.

Así es como funciona el operador ternario en Python, su uso casi obedece a un estilo de programación, algunos consideran que puede ser menos legible y parecer poco práctico si el código es parte de un proyecto en el que más de un programador mantiene y actualiza el código.

Esperamos que este ejemplo te sea de utilidad.

Más detalle en: https://docs.python.org/es/3/reference/expressions.html

Más información en inglés: https://geekole.com/the-ternary-operator-in-python/