Aprende Python · lección gratuita
Los operadores aritméticos permiten que Python funcione como una calculadora muy poderosa. Con ellos sumas, restas, multiplicas y divides, pero también puedes obtener el resto de una división o elevar un número a una potencia. Dominar estos operadores y el orden en que se evalúan es la base para resolver cualquier problema de cálculo.
+ suma y - resta dos números.* multiplica y / divide (la división con / siempre devuelve un float).// es la división entera (descarta los decimales) y % (módulo) devuelve el resto. eleva un número a una potencia: 2 3 es 8.**, luego * / // %, y al final + -.+=, -= y *= modifican una variable de forma abreviada.Python evalúa expresiones aritméticas respetando la precedencia de operadores, igual que en matemáticas. La potencia (**) se calcula primero, después la multiplicación, división, división entera y módulo (*, /, //, %), y por último la suma y la resta. Cuando varios operadores tienen la misma precedencia, se evalúan de izquierda a derecha. Si quieres cambiar ese orden, usa paréntesis ( ): lo que está dentro se calcula primero.
Es importante distinguir entre / y //. La división normal / devuelve siempre un número decimal (float), aunque el resultado sea exacto: 10 / 2 da 5.0. La división entera // descarta la parte decimal y se queda con el cociente: 7 // 2 da 3. El operador módulo % es el complemento perfecto de //, porque devuelve el resto de esa división: 7 % 2 da 1. El módulo es muy útil para saber si un número es par (n % 2 == 0) o múltiplo de otro.
total = 10 + 3 * 2 # primero 3*2=6, luego 10+6 -> 16
print(total) # 16
print((10 + 3) * 2) # con paréntesis: 13*2 -> 26
print(2 ** 10) # potencia: 1024
print(17 % 5) # resto de 17/5 -> 2
Los operadores de asignación compuesta son atajos para actualizar una variable usando su propio valor. Escribir x += 5 es exactamente lo mismo que x = x + 5, pero más corto y legible. Lo mismo aplica para -=, =, /=, //=, %= y *=. Se usan muchísimo para llevar acumuladores o contadores.
# División normal vs división entera
print(9 / 4) # 2.25 (float)
print(9 // 4) # 2 (cociente entero)
print(9 % 4) # 1 (resto)
# Potencia y precedencia
print(3 ** 2 + 1) # 9 + 1 -> 10
print(2 + 3 * 4) # 2 + 12 -> 14
# Operadores de asignación compuesta
saldo = 100
saldo += 50 # saldo = 100 + 50
saldo -= 30 # saldo = 150 - 30
print(saldo) # 120
precio = 20
precio *= 3 # precio = 20 * 3
print(precio) # 60
💡 Recuerda que/siempre da unfloat. Si necesitas un resultado entero exacto (por ejemplo, contar grupos completos), usa la división entera//.
| Operador | Nombre | Ejemplo | Resultado |
|---|---|---|---|
+ | Suma | 5 + 2 | 7 |
- | Resta | 5 - 2 | 3 |
* | Multiplicación | 5 * 2 | 10 |
/ | División | 5 / 2 | 2.5 |
// | División entera | 5 // 2 | 2 |
% | Módulo (resto) | 5 % 2 | 1 |
** | Potencia | 5 ** 2 | 25 |
+= | Suma y asigna | x += 2 | x = x + 2 |
-= | Resta y asigna | x -= 2 | x = x - 2 |
*= | Multiplica y asigna | x *= 2 | x = x * 2 |
---