Conceptos Básicos

Operadores de asignación


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