Operadores Aritméticos e Relacionais
Para que servem operadores?
Python tem operadores para fazer contas e para comparar valores. Os aritméticos resolvem cálculos matemáticos. Os relacionais comparam dois valores e devolvem True ou False.
Saber a diferença entre / e //, entender o % e usar comparacoes encadeadas vai facilitar muito sua vida nos próximos programas.
Operadores aritméticos
Os básicos você já conhece. A novidade são // (divisão inteira), % (resto) e ** (potência):
print(15 + 27) # → 42
print(100 - 37) # → 63
print(6 * 7) # → 42
| Operador | O que faz | Exemplo | Resultado |
|---|---|---|---|
+ | Soma | 15 + 27 | 42 |
- | Subtração | 100 - 37 | 63 |
* | Multiplicação | 6 * 7 | 42 |
/ | Divisão (float) | 7 / 2 | 3.5 |
// | Divisão inteira | 7 // 2 | 3 |
% | Resto (módulo) | 10 % 3 | 1 |
** | Potência | 2 ** 3 | 8 |
/ vs // -- divisão real e inteira
Essa é uma das maiores fontes de confusao. A barra simples sempre retorna float. A barra dupla corta as casas decimais:
# / sempre retorna float
print(10 / 2) # → 5.0
print(7 / 2) # → 3.5
# // corta as casas decimais (divisão inteira)
print(10 // 2) # → 5
print(7 // 2) # → 3
% -- resto da divisão
O operador % (módulo) retorna o resto da divisão. Super útil para saber se um número é par ou impar:
print(10 % 3) # → 1
print(15 % 5) # → 0
# Truque: par ou impar
número = 42
if número % 2 == 0:
print(f"{número} é par") # → 42 é par
else:
print(f"{número} é ímpar")
** -- potência e raiz
** e a potenciação. É também serve para raiz quadrada (potência de 0.5):
print(2 ** 3) # → 8
print(9 ** 0.5) # → 3.0 (raiz quadrada)
print(2 ** 10) # → 1024
Operadores relacionais
Relacionais comparam dois valores e devolvem True ou False:
idade = 18
print(idade == 18) # → True
print(idade != 18) # → False
print(idade > 17) # → True
print(idade < 21) # → True
print(idade >= 18) # → True
print(idade <= 17) # → False
| Operador | Significado | Exemplo | Resultado |
|---|---|---|---|
== | Igual a | 5 == 5 | True |
!= | Diferente de | 5 != 3 | True |
> | Maior que | 10 > 5 | True |
< | Menor que | 3 < 7 | True |
>= | Maior ou igual | 5 >= 5 | True |
<= | Menor ou igual | 4 <= 3 | False |
Comparacoes encadeadas
Isso e exclusivo do Python! Você pode encadear comparacoes de forma natural:
x = 15
print(10 <= x <= 20) # → True
print(1 <= x <= 10) # → False
# Strings comparam pela ordem alfabetica
print("abc" == "abc") # → True
print("abc" == "ABC") # → False
print("a" < "b") # → True
Atribuicao composta
Atalhos para modificar o valor de uma variável:
x = 10
x += 5 # x = x + 5 → 15
x -= 3 # x = x - 3 → 12
x *= 2 # x = x * 2 → 24
x //= 5 # x = x // 5 → 4
x **= 3 # x = x ** 3 → 64
x %= 10 # x = x % 10 → 4
print(x) # → 4
Ordem das operações
Mesma regra da matemática. Parenteses sempre ganham:
print(2 + 3 * 4) # → 14 (multiplicação primeiro)
print((2 + 3) * 4) # → 20 (parênteses primeiro)
Exemplo prático: calculadora de IMC
peso = float(input("Peso (kg): "))
altura = float(input("Altura (m): "))
imc = peso / altura ** 2
print(f"Seu IMC: {imc:.1f}")
# Peso (kg): 70
# Altura (m): 1.75
# → Seu IMC: 22.9
Aqui ** tem prioridade sobre /, então altura ** 2 é calculado primeiro. Depois o peso e dividido pelo resultado.
Referências
- Expressions -- Python docs -- referência oficial sobre operadores
- Operators and Expressions in Python -- guia detalhado no Real Python
- Curso Python #09 - Operadores Aritmeticos -- Curso em Video, PT-BR
Testa o que você leu
4 perguntas sobre esta aula. Errar aqui não custa nada - a explicação vem junto da correção.