Cuando programamos, es común que necesitemos asignar valores a variables o modificar esos valores a lo largo de la ejecución del programa.
Para facilitar estas tareas, Python proporciona varios operadores de asignación.
Tabla de Operadores de Asignación:
Operador | Descripción | Equivalente |
---|---|---|
= | Asigna el valor de la derecha a la variable de la izquierda. | a = 5 |
+= | Suma el valor de la derecha al valor de la variable y asigna el resultado. | a = a + 5 |
-= | Resta el valor de la derecha al valor de la variable y asigna el resultado. | a = a - 5 |
*= | Multiplica el valor de la variable por el valor de la derecha y asigna el resultado. | a = a * 3 |
/= | Divide el valor de la variable entre el valor de la derecha y asigna el resultado. (División flotante) | a = a / 3 |
%= | Asigna el resto de la división de la variable entre el valor de la derecha. | a = a % 3 |
**= | Eleva la variable a la potencia del valor de la derecha y asigna el resultado. | a = a ** 3 |
//= | Realiza la división entera de la variable por el valor de la derecha y asigna el resultado. | a = a // 3 |
&= | Realiza una operación AND a nivel de bits entre la variable y el valor de la derecha, asignando el resultado. | a = a & 3 |
|= | Realiza una operación OR a nivel de bits entre la variable y el valor de la derecha, asignando el resultado. | a = a | 3 |
^= | Realiza una operación XOR a nivel de bits entre la variable y el valor de la derecha, asignando el resultado. | a = a ^ 3 |
>>= | Desplaza los bits de la variable a la derecha en el número de posiciones indicado y asigna el resultado. | a = a >> 3 |
<<= | Desplaza los bits de la variable a la izquierda en el número de posiciones indicado y asigna el resultado. | a = a << 3 |
Ejemplos de Operadores de Asignación:
Operador (=):
Este operador asigna un valor a una variable.
a = 5
El valor 5 queda guardado dentro de la variable a.
Operador (+=):
Suma un valor al contenido actual de la variable y guarda el nuevo resultado en la misma variable.
a = 10
a += 5 # a = a + 5
print(a) # Resultado: 15
Operador (-=):
Resta un valor al contenido actual de la variable y guarda el nuevo resultado en la misma variable.
b = 20
b -= 7 # b = b - 7
print(b) # Resultado: 13
Operador (*=):
Multiplica el contenido actual de la variable por un valor y guarda el nuevo resultado en la misma variable.
c = 4
c *= 3 # c = c * 3
print(c) # Resultado: 12
Operador (/=):
Divide el contenido actual de la variable entre un valor y guarda el resultado como número decimal (float
).
d = 15
d /= 2 # d = d / 2
print(d) # Resultado: 7.5
Operador (%=):
Calcula el resto de la división de la variable entre un valor y guarda ese resto.
e = 17
e %= 5 # e = e % 5
print(e) # Resultado: 2
(17 dividido entre 5 da 3 y sobra 2, que es el resto.)
Operador (**=):
Eleva el valor de la variable a la potencia indicada y guarda el nuevo resultado.
f = 2
f **= 3 # f = f ** 3
print(f) # Resultado: 8
(2 elevado a la 3 es 2×2×2 = 8.)
Operador (//=):
Divide la variable entre un valor, pero sin decimales, solo la parte entera del cociente.
g = 17
g //= 3 # g = g // 3
print(g) # Resultado: 5
(17 dividido entre 3 da 5.666... pero solo se guarda el 5.)
Operador (&=):
Realiza una operación AND
entre los bits del valor actual y los bits de otro valor, y guarda el resultado.
h = 6 # binario: 110
h &= 3 # binario: 011
print(h) # Resultado: 2
(110 AND 011 = 010 → que es 2.)
Operador (|=):
Realiza una operación OR
entre los bits de la variable y los bits de otro valor.
i = 4 # binario: 100
i |= 3 # binario: 011
print(i) # Resultado: 7
(100 OR 011 = 111 → que es 7.)
Operador (^=):
Realiza una operación XOR
(OR
exclusivo) entre los bits de la variable y otro valor.
j = 5 # binario: 101
j ^= 3 # binario: 011
print(j) # Resultado: 6
(101 XOR 011 = 110 → que es 6.)
Operador (>>=):
Desplaza los bits de la variable hacia la derecha el número de posiciones indicado.
k = 8 # binario: 1000
k >>= 2
print(k) # Resultado: 2
(1000 desplazado dos posiciones a la derecha = 0010, que es 2.)
Operador (<<=):
Desplaza los bits de la variable hacia la izquierda el número de posiciones indicado.
l = 3 # binario: 11
l <<= 2
print(l) # Resultado: 12