PythonOperadores

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:

OperadorSignificadoExemploResultado
==Igual a5 == 5True
!=Diferente de5 != 3True
>Maior que5 > 3True
<Menor que5 < 3False
>=Maior ou igual5 >= 5True
<=Menor ou igual5 <= 3False
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:

OperadorFunciona comoExemploResultado
ande — ambas verdadeiras(5 > 3) and (10 > 5)True
orou — pelo menos uma verdadeira(5 > 3) or (5 < 3)True
notnão — invertenot (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 and para condições que precisam ser todas verdadeiras. Use or quando 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 is para comparar com None, 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:

  1. () — parênteses
  2. ** — potenciação
  3. *, /, //, % — multiplicação, divisão, módulo
  4. +, - — soma e subtração
  5. ==, !=, >, <, >=, <= — comparações
  6. not — negação
  7. and — e lógico
  8. or — 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

TipoOperadoresPara que serve
Aritméticos+ - * / // % **Fazer contas
Comparação== != > < >= <=Comparar valores
Lógicosand or notCombinar condições
Atribuição= += -= *= /=Atualizar variáveis
Identidadeis is notComparar objetos
Pertencimentoin not inVerificar existência