Los operadores son los símbolos que transforman y comparan valores. Son los ladrillos de toda expresión en Python.
Operadores aritméticos
suma = 7 + 3 # 10
resta = 7 - 3 # 4
multiplicacion = 7 * 3 # 21
division = 7 / 2 # 3.5 → siempre float
division_entera = 7 // 2 # 3 → descarta los decimales
modulo = 7 % 2 # 1 → el residuo de la división
potencia = 2 ** 10 # 1024 → elevado a
Los dos últimos merecen atención:
//(división entera): redondea hacia abajo.7 // 2es 3 porque 2 cabe 3 veces en 7.%(módulo): devuelve lo que sobra. 7 entre 2 es 3 y sobra 1.
El módulo es oro puro para saber si un número es par:
print(10 % 2) # 0 → par
print(7 % 2) # 1 → impar
Precedencia: quién actúa primero
Como en matemáticas, * y / se evalúan antes que + y -. Usa paréntesis para dejar tus intenciones claras:
print(2 + 3 * 4) # 14 → la multiplicación va primero
print((2 + 3) * 4) # 20 → los paréntesis mandan
Operadores de comparación
Todos devuelven un bool (True o False):
print(5 == 5) # True → igualdad (¡dos signos!)
print(5 != 3) # True → diferente
print(5 > 3) # True
print(5 <= 5) # True
print("a" < "b") # True → los strings se comparan alfabéticamente
Error clásico: = asigna, == compara. Un solo signo igual no es una comparación.
Operadores lógicos
Combinan condiciones:
edad = 25
tiene_licencia = True
print(edad >= 18 and tiene_licencia) # True → ambos deben ser True
print(edad < 18 or tiene_licencia) # True → basta con que uno sea True
print(not tiene_licencia) # False → invierte el valor
La precedencia de and es mayor que la de or:
print(True and False or True) # True → (True and False) or True
Atajos de asignación
contador = 0
contador += 1 # equivale a: contador = contador + 1
contador -= 2 # equivale a: contador = contador - 2
contador *= 3 # equivale a: contador = contador * 3
print(contador) # 3
Resumen
//es división entera y%es el residuo (clave para par/impar)==compara,=asignaandexige ambas condiciones;orbasta con una;notinvierte- Usa paréntesis cuando la precedencia no sea obvia