Orden de operaciones
Cuando en una instrucción aparece más de un operador, el orden de evaluación depende de las reglas de precedencia. Para los operadores matemáticos, Python sigue las convenciones matemáticas:
- Los paréntesis tienen un nivel superior de precedencia, y pueden usarse para forzar que una expresión sea evaluada en el orden que se desee. Dado que las expresiones entre paréntesis se evalúan primero,
2 * (3-1)es 4 y(1 + 1)**(5 - 2)es 8. Se pueden utilizar paréntesis para hacer una expresión más fácil de leer, incluso si el resultado de la misma no varía, como por ejemplo(minuto * 100) / 60. - La potenciación tiene el siguiente nivel más alto de precedencia. De este modo
2**1 + 1es 3, no 4; y3 * 1**3es 3, no 27. - La multiplicación y la división tienen la misma precedencia, que es superior a la de la suma y la de la resta, las cuales también tienen el mismo nivel de precedencia. Así que
2 * 3 - 1es 5, no 4; y6 + 4 / 2es 8, no 5. - Los operadores con igual precedencia se evalúan de izquierda a derecha. Así, la expresión
5 - 3 - 1es 1, no 3, porque5 - 3se evalúa primero.
En caso de duda, añade siempre paréntesis a tus expresiones para asegurarte de que las operaciones se realicen en el orden que deseas.