Operadores: aritméticos, de comparação e lógicos — como e por quê

🔧 Operadores — primeiro o porquê

Quando resolvemos problemas, transformamos perguntas em expressões: "quanto custa X?" vira soma/ multiplicação; "o usuário digitou a senha correta?" vira comparação. Escolher o operador certo evita resultados estranhos (por exemplo: divisão inteira quando você queria ponto flutuante). A especificação de avaliação e precedência de operadores do Python explica essa ordem e é essencial quando escrevemos expressões mais complexas (1).

Order of operations
Order of operations

Operadores aritméticos principais

  • +, -, *, / (divisão float)
  • // (divisão inteira — quociente sem parte fracionária)
  • % (módulo — resto da divisão)
  • ** (exponenciação)

Exemplo e explicação antes do código: vamos calcular preço com imposto, quociente e resto para demonstrar / vs //. Depois mostramos precedência em uma expressão mista.

# Operadores aritméticos e precedência
preco = 99.90
imposto = 0.08
total = preco + preco * imposto   # multiplica antes da soma
print(total)                       # 107.892

a = 7
b = 2
print(a / b)   # 3.5  (divisão float)
print(a // b)  # 3    (divisão inteira)
print(a % b)   # 1    (resto)

Comparações e operadores lógicos

Comparadores: == != > < >= <=. Combine comparações com and, or, not. Atenção ao encadeamento: 1 < x < 10 funciona como matemática em Python (1).

graph TD; A[Expressões Aritméticas] --> B[Comparações]; B --> C[Operadores Lógicos]; C --> D[Decisões (if/while)]

Atividade prática

Crie uma função calcula_preco(qtd, preco_unitario, desconto_percent) que retorna o total arredondado com 2 casas. Teste casos: desconto 0, desconto 100, quantidade 0. Use asserts para validar saídas esperadas.

Resumo: entenda a ordem das operações e escolha operadores conforme a necessidade. Para detalhes formais sobre precedência e avaliação use a referência oficial do Python (1). Para o comportamento booleano e conversões implícitas consulte a seção de tipos embutidos (2).