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.