En programación, constantemente necesitamos **actualizar el valor de una variable** en función de su valor actual. Por ejemplo, si estamos llevando la cuenta de los artículos en un almacén o el kilometraje de un motor, tomamos la cantidad existente y le sumamos o restamos una nueva cantidad.
Hasta ahora, para sumarle 5 unidades a una variable llamada piezas, escribíamos esto:
piezas = piezas + 5
Los operadores de asignación aumentada (también llamados operadores compuestos) son "atajos" sintácticos que nos permiten realizar la operación matemática y la asignación en un solo paso, reduciendo el código redundante:
piezas += 5 # Hace exactamente lo mismo que: piezas = piezas + 5
+=.
A continuación se presentan los principales operadores compuestos en Python, su equivalencia en forma larga y un ejemplo práctico considerando que inicialmente la variable x = 10:
| Operador | Nombre | Ejemplo | Equivalente a | Resultado (si x = 10) |
|---|---|---|---|---|
| += | Suma y asignación | x += 5 | x = x + 5 | 15 |
| -= | Resta y asignación | x -= 3 | x = x - 3 | 7 |
| *= | Multiplicación y asignación | x *= 2 | x = x * 2 | 20 |
| /= | División real y asignación | x /= 4 | x = x / 4 | 2.5 |
| //= | División entera y asignación | x //= 3 | x = x // 3 | 3 |
| %= | Módulo (resto) y asignación | x %= 4 | x = x % 4 | 2 |
| **= | Potencia y asignación | x **= 2 | x = x ** 2 | 100 |
Observemos cómo estos operadores simplifican la actualización de datos dentro de un script funcional:
# Script: Control de Inventario de Aceite (Litros)
# Estado inicial del inventario
aceite_litros = 50.0
print("Inventario inicial:", aceite_litros, "L")
# 1. Llega un pedido nuevo al taller (+15.5 litros)
aceite_litros += 15.5
print("Después del reabastecimiento:", aceite_litros, "L")
# 2. Se realiza un cambio de aceite a un vehículo (-4.0 litros)
aceite_litros -= 4.0
print("Después del servicio mecánico:", aceite_litros, "L")
# 3. El proveedor duplica el stock existente por promoción (* 2)
aceite_litros *= 2
print("Stock duplicado por promoción:", aceite_litros, "L")
+ = en lugar de += causará un error de sintaxis (SyntaxError).=+ intentará asignar un número positivo a la variable, cambiando por completo el sentido de la instrucción.x += 5 si x no ha sido definida antes con algún valor inicial.Problema: Un contador de producción en una línea de ensamblaje automatizada inicia en 100 piezas mecánicas procesadas.
25 piezas al contador usando asignación aumentada de suma.10 piezas defectuosas detectadas en el control de calidad usando asignación aumentada de resta.5 cajas usando asignación aumentada de división entera.¿Cuál es el valor final de la variable? Escribe la traza del código en tu cuaderno de taller.