Operadores de asignación y walrus en Python

Clase 16 de 32Curso de Fundamentos de Python

Resumen

Aprende a escribir código más claro y corto en Python dominando operadores de asignación como +=, -=, =, /=, %=, //=, = y el operador walrus* (:=). Con ejemplos simples verás cómo actualizar variables sin repetirlas y cómo estos operadores afectan los tipos numéricos.

¿Qué son los operadores de asignación en Python?

Los operadores de asignación permiten actualizar el valor de una variable tomando su valor previo y aplicando una operación en el mismo paso. En lugar de escribir expresiones largas, puedes ahorrar código y mantener la intención más visible.

# Asignación básica y = 5 # y ahora vale 5 # Sumar y reasignar (forma larga vs. corta) x = 5 x = x + 3 # x ahora vale 8 x = 5 # reiniciamos x += 3 # mismo resultado: 8 # Restar y reasignar x -= 3 # vuelve a 5

  • = asigna un valor inicial a la variable.
  • +=, -= actualizan el valor existente con suma o resta.
  • Menos repetición, más legibilidad.

¿Cómo se aplican las operaciones básicas y sus efectos en el tipo?

Además de suma y resta, puedes usar multiplicación, división, módulo, división entera y exponente con sus versiones de asignación. Importante: con la división estándar, el resultado pasa a flotante.

x = 5 x *= 3 # 15 x /= 3 # 5.0 ← al dividir, el resultado es flotante (tipo *float*).

¿Qué pasa con el módulo y los tipos?

El módulo (%=) devuelve el resto de la división y, si la variable es flotante, el resto también será flotante.

x = 5.0 # x quedó flotante tras la división x %= 2 # 1.0 ← el resto también es flotante.

  • %= calcula el resto y reasigna.
  • Si la variable es flotante, el resultado del módulo es flotante.

¿Cómo funciona la división entera y el exponente?

La división entera (//=) ignora la parte decimal. El exponente (**=) repite multiplicaciones.

y = 20 y //= 2 # 10 # Si y fuera 21: y //= 2 → 10 (ignora la parte decimal). # Exponente (elevar al cubo) y = 10 y **= 3 # 1000 (10 * 10 * 10)

  • //= hace división entera y descarta decimales.
  • **= eleva a potencias repetidas y reasigna.

¿Qué hace el operador walrus en Python 3.8?

El operador walrus (:=) permite asignar mientras usas el valor, incluso dentro de un print. Es muy práctico para evitar líneas extra al preparar valores.

# Asignar dentro del print print(z := 3) # imprime 3 y, además, z queda asignada con 3 print(z) # 3 (ya estaba guardado)

  • := asigna y devuelve el valor en la misma expresión.
  • Funciona dentro de llamadas como print y evita código repetido.
  • Disponible desde Python 3.8.

¿Te gustaría ver más ejemplos con casos reales y combinar estos operadores en expresiones más complejas? Deja tus dudas o comparte tu caso en los comentarios.