Operadores
Operadores são símbolos que realizam operações em valores. Python tem vários tipos de operadores, e entender cada um é essencial para escrever qualquer programa.
Operadores aritméticos
Já vimos esses no tópico de números, mas aqui vai um resumo:
a = 10
b = 3
print(a + b) # 13 — soma
print(a - b) # 7 — subtração
print(a * b) # 30 — multiplicação
print(a / b) # 3.333... — divisão (sempre retorna float)
print(a // b) # 3 — divisão inteira
print(a % b) # 1 — módulo (resto da divisão)
print(a ** b) # 1000 — potência (10³)
Operadores de comparação
Usados para comparar valores. Sempre retornam True ou False:
| Operador | Significado | Exemplo | Resultado |
|---|---|---|---|
== | Igual a | 5 == 5 | True |
!= | Diferente de | 5 != 3 | True |
> | Maior que | 5 > 3 | True |
< | Menor que | 5 < 3 | False |
>= | Maior ou igual | 5 >= 5 | True |
<= | Menor ou igual | 5 <= 3 | False |
idade = 18
print(idade >= 18) # True — pode dirigir
print(idade == 21) # False
print(idade != 15) # True
Atenção:
==é comparação.=é atribuição. Trocar um pelo outro é o erro mais comum de quem está começando!
Operadores lógicos
Combinam condições. Úteis para decisões mais complexas:
| Operador | Funciona como | Exemplo | Resultado |
|---|---|---|---|
and | e — ambas verdadeiras | (5 > 3) and (10 > 5) | True |
or | ou — pelo menos uma verdadeira | (5 > 3) or (5 < 3) | True |
not | não — inverte | not (5 > 3) | False |
idade = 20
possui_carteira = True
# Pode dirigir? As duas condições precisam ser True
if idade >= 18 and possui_carteira:
print("Pode dirigir") # ✅
# Entrada em festa: maior de idade ou acompanhado
tem_18 = idade >= 18
esta_acompanhado = False
if tem_18 or esta_acompanhado:
print("Pode entrar") # ✅ (tem 18)
# Menor de idade?
if not tem_18:
print("Menor de idade")
else:
print("Maior de idade")
Dica: use
andpara condições que precisam ser todas verdadeiras. Useorquando qualquer uma já basta.
Operadores de atribuição
Além do = simples, você pode combinar atribuição com operações:
x = 10
x += 5 # equivalente a: x = x + 5
print(x) # 15
x -= 3 # x = x - 3
print(x) # 12
x *= 2 # x = x * 2
print(x) # 24
x /= 3 # x = x / 3
print(x) # 8.0
É uma forma mais curta de escrever x = x + 5, x = x * 2, etc.
Operador de identidade — is e is not
Verifica se duas variáveis apontam para o mesmo objeto na memória:
a = [1, 2, 3]
b = [1, 2, 3]
c = a
print(a == b) # True — mesmo conteúdo
print(a is b) # False — objetos diferentes na memória
print(a is c) # True — c aponta para o mesmo objeto que a
Importante: use
ispara comparar comNone, não use==:if resultado is None: print("Sem resultado")
Operador de pertencimento — in e not in
Verifica se algo existe dentro de uma coleção:
frutas = ["maçã", "banana", "laranja"]
print("banana" in frutas) # True
print("uva" in frutas) # False
texto = "Python é incrível"
print("Python" in texto) # True
print("Java" not in texto) # True
Precedência de operadores
Quando você mistura operadores, Python segue uma ordem:
()— parênteses**— potenciação*,/,//,%— multiplicação, divisão, módulo+,-— soma e subtração==,!=,>,<,>=,<=— comparaçõesnot— negaçãoand— e lógicoor— ou lógico
resultado = 5 + 3 * 2 > 10 and not False
# 1. 3 * 2 → 6
# 2. 5 + 6 → 11
# 3. 11 > 10 → True
# 4. not False → True
# 5. True and True → True
print(resultado) # True
Na dúvida, use parênteses. Deixa o código mais legível:
resultado = ((5 + (3 * 2)) > 10) and (not False)
Erros comuns
Usar = em vez de ==
if senha = "1234": # ❌ SyntaxError
Causa: = é para atribuir, == é para comparar.
Solução: use == em condições.
Confundir and com or
# Errado: quer que seja maior de 18 E menor de 60
if idade > 18 or idade < 60:
print("Está na faixa") # vai printar até pra bebê de 1 ano!
Solução: or basta uma condição ser True. Use and quando precisar de ambas.
Usar is em vez de ==
a = 1000
b = 1000
print(a is b) # False (objetos diferentes)
print(a == b) # True (mesmo valor)
Solução: == compara valor; is compara identidade de objeto.
Resumo
| Tipo | Operadores | Para que serve |
|---|---|---|
| Aritméticos | + - * / // % ** | Fazer contas |
| Comparação | == != > < >= <= | Comparar valores |
| Lógicos | and or not | Combinar condições |
| Atribuição | = += -= *= /= | Atualizar variáveis |
| Identidade | is is not | Comparar objetos |
| Pertencimento | in not in | Verificar existência |