El operador walrus (:=) de Python es como tener un pequeño ayudante que verifica si algo es cierto o no y luego te lo informa. Imagina que tienes un amigo muy inteligente y rápido, que siempre está mirando lo que haces y te dice si estás haciendo algo mal. Así es como funciona el operador walrus. Te permite asignar y evaluar una expresión en una sola línea de código.
Entonces, si estás escribiendo un programa y necesitas verificar si algo es verdadero antes de continuar, puedes usar el operador walrus para hacerlo en una sola línea.
El operador walrus
El operador walrus (también conocido como operador de asignación en línea) es una característica introducida en Python 3.8 que permite asignar valores a una variable en el momento en que se evalúa una expresión.
El operador walrus se denota con dos signos de igual seguidos de un signo de mayor que (:=). El uso más común del operador walrus es para simplificar el código al permitir la evaluación de una expresión y la asignación de un valor a una variable en una sola línea.
Aquí hay un ejemplo de cómo se podría usar el operador walrus en un programa de Python:
# Ejemplo 1: Lectura de datos del usuario y conteo de caracteres
while (entrada := input("Escribe algo: ")) != "salir":
print(f"Has escrito {len(entrada)} caracteres")
En este ejemplo, el operador walrus se usa para leer la entrada del usuario y asignarla a la variable entrada en la misma línea que se comprueba si la entrada es igual a «salir».
En resumen, el operador walrus puede ser una herramienta útil para simplificar y acortar el código, especialmente en situaciones donde se necesita asignar un valor a una variable en una expresión condicional o en una estructura de bucle.
Otro ejemplo donde podrías utilizar el operador walrus, sería para la verificación de longitud de una cadena antes de imprimirla,
# Ejemplo 2: Verificación de longitud de una cadena antes de imprimirla
cadena = "Este es un ejemplo de una cadena larga"
if (longitud := len(cadena)) > 20:
print(f"La cadena tiene {longitud} caracteres, es demasiado larga")
Por ejemplo para verificar o validar una entrada de usuario,
# Ejemplo 3: Validación de entrada del usuario
while True:
if (numero := input("Introduce un número entre 1 y 10: ")) in {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10"}:
break
print("Número no válido, intenta de nuevo")
print(f"El número introducido es: {numero}")
Para filtrar elementos directacmente en línea,
# Ejemplo 4: Filtrado de elementos en una lista
lista = [1, 2, 3, 4, 5, 6, 7, 8, 9]
while (n := lista.pop()) % 2 == 0:
print(f"Eliminando el elemento {n} de la lista")
print(f"El último elemento restante de la lista es {n}")
En este ejemplo, el operador walrus se utiliza para asignar el último elemento de la lista a la variable n en la misma línea en que se comprueba si el elemento es par. La eliminación de los elementos pares se realiza dentro del bucle while hasta que se encuentra el primer elemento impar, momento en el que se detiene el bucle y se imprime el valor de n.
Espero que estos ejemplos adicionales te hayan ayudado a comprender mejor el operador walrus y sus aplicaciones en Python.
El vídeo
Lo mismo que te he contado hasta aquí pero ahora en formato vídeo