Python 3.8 todavía está en desarrollo. Pero se han lanzado muchas versiones alfa. Una de las últimas funciones de Python 3.8 es el Operador Walrus. En este artículo, discutiremos el operador Walrus y lo explicaremos con un ejemplo.
Introducción
Walrus-operator es otro nombre para las expresiones de asignación. De acuerdo con la documentación oficial, es una forma de asignar variables dentro de una expresión usando la notación NOMBRE := expr. Las expresiones de asignación permiten asignar un valor a una variable, incluso a una variable que aún no existe, en el contexto de la expresión en lugar de como una declaración independiente.
Código:
a = [1, 2, 3, 4] if (n := len(a)) > 3: print(f"List is too long ({n} elements, expected <= 3)")
Producción :
Aquí, en lugar de usar «len(a)» en dos lugares, lo hemos asignado a una variable llamada «n», que se puede usar más adelante. Esto nos ayuda a resolver la duplicación de código y mejora la legibilidad.
Ejemplo –
Tratemos de entender las expresiones de asignación más claramente con la ayuda de un ejemplo que usa Python 3.7 y Python 3.8. Aquí tenemos una lista de diccionarios llamada “sample_data”, que contiene el ID de usuario, el nombre y un booleano llamado completado.
sample_data = [ {"userId": 1, "name": "rahul", "completed": False}, {"userId": 1, "name": "rohit", "completed": False}, {"userId": 1, "name": "ram", "completed": False}, {"userId": 1, "name": "ravan", "completed": True} ] print("With Python 3.8 Walrus Operator:") for entry in sample_data: if name := entry.get("name"): print(f'Found name: "{name}"') print("Without Walrus operator:") for entry in sample_data: name = entry.get("name") if name: print(f'Found name: "{name}"')
Producción: