Qual é a ordem de precedência em Python?
Python segue a mesma convenção usada na matemática, a ordem de avaliação dos operadores, do de maior precedência para o de menor precedência, por isso antes mesmo de executar qualquer operação é importante saber a ordem de precedência da sua operação matemática, para que o seu código não apresente um resultado diferente.
Sendo a ordem:
· Parêntesis
· Expoentes
· Multiplicação e divisão (Da esquerda para a direita)
· Somas e subtrações (Da esquerda para a direita)
Quando se quer alterar a ordem de precedência é usado parênteses para forçar que uma expressão seja avaliada em uma determinada ordem desejada. Ex.: 2 * (3-1) = 4, mas 2 * 3 - 1 = 5.
Operadores com a mesma precedência são avaliados da esquerda para a direita. Ex: 10 / 2 * 2 = 10 e 10 / (2 * 2) = 2.5. Mas há uma exceção para essa regra: a exponenciação. Ex: 2**3**2 equivale a 2**(3**2) que é 512; note que isso é diferente de (2**3)**2, que é 64.
Na dúvida quando estiver escrevendo uma expressão matemática e não lembrar quanto às regras de precedência dos operadores, então use parênteses para garantir que a ordem de avaliação será correta. Com isso, você evitará possíveis erros.