Módulo 6 - Operadores e cálculos

Potência e a ordem das operações

10 min de leitura · por Cesar Gargiulo, revisado pela equipe ValorFinal e GuardiaSec · Atualizado em 01/07/2026

O que você vai aprender

  • Calcular potências com o operador **.
  • Prever o resultado de expressões usando a ordem das operações do Python.
  • Usar parênteses para controlar a conta e para deixá-la mais legível.
  • Montar a fórmula de juros simples numa expressão Python correta.

Potência com dois asteriscos

Elevar um número a uma potência é multiplicá-lo por ele mesmo repetidas vezes, e o Python tem um operador dedicado para isso: os dois asteriscos. A expressão 5 ** 2 lê-se cinco elevado a dois e vale 25. Funciona com qualquer expoente, inclusive decimal: 2 ** 0.5 calcula a raiz quadrada de 2, porque raiz é potência de expoente meio.

print(5 ** 2)    # 25   (5 ao quadrado)
print(2 ** 3)    # 8    (2 ao cubo)
print(2 ** 10)   # 1024 (o famoso kilo da computação)
print(2 ** 0.5)  # 1.4142135623730951 (raiz quadrada de 2)

O operador ** aceita expoentes inteiros e decimais. O resultado com expoente decimal sai como float.

Onde potência aparece na prática? Em crescimento: juros compostos, população de bactérias, dobras de papel. Em áreas e volumes: lado ** 2 e lado ** 3. E na própria computação: 2 ** 10 é 1024, o motivo de um kilobyte não ser mil bytes redondos. Neste módulo ficamos nos juros simples, que usam só multiplicação, mas o ** já fica no seu cinto de ferramentas para os compostos, mais adiante na trilha.

Quem calcula primeiro: a tabela de precedência

Quanto vale 2 + 3 * 4? Se você respondeu 14, a escola fez efeito: a multiplicação resolve antes da soma, então a conta é 2 + 12. O Python segue exatamente essa convenção, conhecida no ensino como PEMDAS ou ordem das operações. A tabela abaixo mostra a prioridade dos operadores que você já conhece, do que calcula primeiro para o que calcula por último.

PrioridadeOperadoresExemploResultado
1 (maior)( ) parênteses(2 + 3) * 420
2** potência2 * 3 ** 218
3- de sinal (negativo)-3 * 2-6
4* / // % (multiplicativos)2 + 3 * 414
5 (menor)+ - (soma e subtração)10 - 4 + 17

A ordem das operações em Python. Empate de prioridade resolve da esquerda para a direita, exceto o **, que resolve da direita para a esquerda.

Duas linhas da tabela merecem lupa. Na linha 2, a expressão 2 * 3 ** 2 dá 18, e não 36, porque a potência resolve antes da multiplicação: primeiro 3 ** 2 vira 9, depois 2 * 9. E a linha 3 esconde a pegadinha mais famosa da precedência: como o ** tem prioridade sobre o sinal negativo, a expressão -2 ** 2 vale -4. O Python calcula 2 ** 2 primeiro e aplica o sinal depois.

print(2 + 3 * 4)    # 14, e não 20: o * resolve antes do +
print(2 * 3 ** 2)   # 18, e não 36: o ** resolve antes do *
print(-2 ** 2)      # -4: o ** resolve antes do sinal negativo
print((-2) ** 2)    # 4: os parênteses protegem o sinal

Quatro expressões que separam quem decorou a tabela de quem chuta. A última linha mostra a solução: parênteses.

Parênteses como ferramenta e o exemplo dos juros simples

Parênteses têm dois empregos. O primeiro é mudar a conta: (2 + 3) * 4 força a soma a acontecer antes. O segundo é mais sutil e igualmente valioso: deixar a intenção visível mesmo quando a precedência já faria a coisa certa. Escrever (preco * quantidade) - desconto não muda o resultado, mas poupa o leitor de recitar a tabela de precedência de cabeça. Código se escreve uma vez e se lê muitas; parênteses de clareza são um presente para o próximo leitor, que costuma ser você daqui a um mês.

Vamos aplicar num cálculo de verdade: juros simples, a fórmula em que o juro é sempre calculado sobre o valor inicial. O juro total é capital vezes taxa vezes tempo, e o montante final é o capital mais esse juro. Guardando R$ 1.000,00 a 2% ao mês por 12 meses, o código fica assim.

capital = 1000
taxa = 0.02      # 2% ao mês, escrito como 2 / 100
meses = 12

juros = capital * taxa * meses
montante = capital * (1 + taxa * meses)

print("Juros do período:", juros)      # Juros do período: 240.0
print("Montante final:", montante)     # Montante final: 1240.0

Juros simples em cinco linhas. Nos parênteses do montante, a precedência resolve taxa * meses antes do 1 +, e o parêntese externo garante que a soma aconteça antes de multiplicar pelo capital.

Olhe a linha do montante com atenção, porque ela usa a tabela inteira desta aula: dentro dos parênteses, taxa * meses calcula primeiro (0.24), depois soma com 1 (1.24), e só então multiplica pelo capital. Sem os parênteses, capital * 1 + taxa * meses daria 1000.24, um resultado absurdo e silencioso. E aqui vai um gancho honesto: a calculadora de juros simples do ValorFinal, que atende leitores todos os dias, executa exatamente essa expressão em produção. A distância entre o seu código de hoje e uma ferramenta pública é menor do que parece.

Teste rápido

Quanto vale a expressão 2 + 3 * 4 ** 2 em Python?

Perguntas frequentes

Como calculo raiz quadrada em Python?
O caminho mais direto com o que você já sabe é elevar a 0.5: a expressão 25 ** 0.5 dá 5.0, porque raiz quadrada é potência de expoente meio. Existe também a função sqrt() do módulo math da biblioteca padrão, que você conhecerá quando o curso tratar de imports.
Por que 2 ^ 3 dá 1 em vez de 8?
Porque em Python o ^ não é potência: é o operador XOR bit a bit, que compara os números em binário. Ele roda sem erro e devolve um valor que parece aleatório para quem esperava potência. Grave a regra: potência em Python é **, sempre com os dois asteriscos.
Preciso decorar a tabela de precedência inteira?
Não. Basta lembrar do essencial: parênteses primeiro, potência depois, multiplicação e divisão antes de soma e subtração. Para qualquer expressão mais enrolada que isso, use parênteses e pronto: eles tornam a ordem explícita e o código fica mais legível de quebra.
Usar parênteses desnecessários deixa o programa mais lento?
Não de forma perceptível. O Python resolve a expressão do mesmo jeito, e a diferença de processamento é irrelevante em qualquer programa real. O ganho de legibilidade, por outro lado, é imediato. Entre uma expressão esperta e uma expressão clara, escolha a clara.
Por que -2 ** 2 dá -4 e não 4?
Porque a potência tem prioridade sobre o sinal negativo. O Python lê a expressão como -(2 ** 2): calcula 2 ao quadrado, que é 4, e aplica o sinal por último. Para elevar o número negativo ao quadrado, escreva (-2) ** 2, que dá 4. É a pegadinha de precedência mais comum.
Qual a diferença entre juros simples e compostos nesse contexto?
Nos juros simples, o juro incide sempre sobre o capital inicial, e a conta usa só multiplicação, como na aula. Nos compostos, o juro do mês entra na base do mês seguinte, e a fórmula usa potência: capital * (1 + taxa) ** meses. Você já tem os dois operadores; o composto reaparece adiante na trilha.

Fontes

Seu progresso fica salvo neste aparelho. Assinantes sincronizam entre os aparelhos.