Fundamentos do Python para Iniciantes

0/31 aulas0%
teoria

Operadores de Comparação e Lógicos

Aprenda sobre operadores de comparação e lógicos

30 min
Aula 4 de 5

🚀 Operadores de Comparação e Lógicos em Python

Olá, futuro(a) programador(a)! 👋 Nesta aula, vamos mergulhar em um tópico fundamental que nos permite adicionar inteligência e capacidade de tomada de decisão aos nossos programas: os Operadores de Comparação e os Operadores Lógicos.

Pense neles como as ferramentas que o Python usa para fazer perguntas e avaliar condições, retornando sempre uma resposta Verdadeira (True) ou Falsa (False). Dominar esses operadores é o primeiro passo para criar fluxos de controle complexos e programas que reagem de forma dinâmica.

Vamos começar! 🧠


1. Operadores de Comparação (Relacionais)

Os operadores de comparação são usados para comparar dois valores. O resultado de uma comparação é sempre um valor booleano: True (verdadeiro) ou False (falso). Eles são essenciais para verificar se uma condição é atendida.

Aqui estão os principais operadores de comparação em Python:

OperadorDescriçãoExemploResultado
==Igual a5 == 5True
!=Diferente de5 != 6True
>Maior que10 > 5True
<Menor que5 < 10True
>=Maior ou igual a10 >= 10True
<=Menor ou igual a5 <= 5True

Exemplos Práticos:

Vamos ver alguns exemplos de como esses operadores funcionam na prática.

# Definindo algumas variáveis para nossos exemplos
a = 10
b = 20
c = 10
nome1 = "Alice"
nome2 = "Bob"
 
print(f"a = {a}, b = {b}, c = {c}, nome1 = '{nome1}', nome2 = '{nome2}'\n")
 
# Operador == (Igual a)
print(f"a == c: {a == c}")    # Saída: True (10 é igual a 10)
print(f"a == b: {a == b}")    # Saída: False (10 não é igual a 20)
print(f"nome1 == 'Alice': {nome1 == 'Alice'}") # Saída: True
 
# Operador != (Diferente de)
print(f"a != b: {a != b}")    # Saída: True (10 é diferente de 20)
print(f"a != c: {a != c}")    # Saída: False (10 não é diferente de 10)
 
# Operador > (Maior que)
print(f"b > a: {b > a}")      # Saída: True (20 é maior que 10)
print(f"a > b: {a > b}")      # Saída: False (10 não é maior que 20)
 
# Operador < (Menor que)
print(f"a < b: {a < b}")      # Saída: True (10 é menor que 20)
print(f"b < a: {b < a}")      # Saída: False (20 não é menor que 10)
 
# Operador >= (Maior ou igual a)
print(f"a >= c: {a >= c}")    # Saída: True (10 é maior ou igual a 10)
print(f"b >= a: {b >= a}")    # Saída: True (20 é maior ou igual a 10)
print(f"a >= b: {a >= b}")    # Saída: False (10 não é maior ou igual a 20)
 
# Operador <= (Menor ou igual a)
print(f"a <= c: {a <= c}")    # Saída: True (10 é menor ou igual a 10)
print(f"a <= b: {a <= b}")    # Saída: True (10 é menor ou igual a 20)
print(f"b <= a: {b <= a}")    # Saída: False (20 não é menor ou igual a 10)

Observação: Os operadores de comparação funcionam com diferentes tipos de dados, desde que a comparação faça sentido (números com números, strings com strings, etc.). Comparar tipos incompatíveis pode levar a erros ou resultados inesperados.


2. Operadores Lógicos

Os operadores lógicos são usados para combinar expressões booleanas (ou seja, resultados de comparações) e formar condições mais complexas. Assim como os operadores de comparação, eles também retornam True ou False.

Python possui três operadores lógicos: and, or e not.

and (E Lógico)

O operador and retorna True se ambas as condições forem verdadeiras. Se pelo menos uma for falsa, o resultado será False.

Condição 1Condição 2Condição 1 and Condição 2
TrueTrueTrue
TrueFalseFalse
FalseTrueFalse
FalseFalseFalse

Exemplo:

idade = 25
possui_cnh = True
 
# A pessoa precisa ter 18 anos ou mais E possuir CNH para dirigir
pode_dirigir = (idade >= 18) and possui_cnh
print(f"Pode dirigir? {pode_dirigir}") # Saída: True
 
idade = 17
pode_dirigir = (idade >= 18) and possui_cnh
print(f"Pode dirigir (idade 17)? {pode_dirigir}") # Saída: False

or (OU Lógico)

O operador or retorna True se pelo menos uma das condições for verdadeira. Ele só retorna False se ambas as condições forem falsas.

Condição 1Condição 2Condição 1 or Condição 2
TrueTrueTrue
TrueFalseTrue
FalseTrueTrue
FalseFalseFalse

Exemplo:

tem_passaporte = False
tem_visto = True
 
# Para viajar, a pessoa precisa ter passaporte OU visto
pode_viajar = tem_passaporte or tem_visto
print(f"Pode viajar? {pode_viajar}") # Saída: True
 
tem_passaporte = False
tem_visto = False
pode_viajar = tem_passaporte or tem_visto
print(f"Pode viajar (sem passaporte ou visto)? {pode_viajar}") # Saída: False

not (NÃO Lógico)

O operador not inverte o valor booleano da condição. Se a condição for True, not a torna False, e vice-versa.

Condiçãonot Condição
TrueFalse
FalseTrue

Exemplo:

esta_chovendo = True
 
# Quero saber se NÃO está chovendo
nao_esta_chovendo = not esta_chovendo
print(f"Não está chovendo? {nao_esta_chovendo}") # Saída: False
 
esta_chovendo = False
nao_esta_chovendo = not esta_chovendo
print(f"Não está chovendo (agora não)? {nao_esta_chovendo}") # Saída: True

Combinando Operadores: Precedência

Você pode combinar operadores de comparação e lógicos em uma única expressão. A precedência dos operadores lógicos em Python é: not > and > or. Parenteses () podem ser usados para forçar uma ordem de avaliação diferente, tornando o código mais legível.

Exemplo de combinação:

temperatura = 28
horario = "noite"
esta_nublado = False
 
# Condição: Está calor (temp > 25) E é dia (horario != "noite") OU NÃO está nublado
# (temperatura > 25 and horario != "noite") or (not esta_nublado)
 
condicao_complexa = (temperatura > 25 and horario != "noite") or (not esta_nublado)
print(f"Condição complexa (temperatura={temperatura}, horario='{horario}', esta_nublado={esta_nublado}): {condicao_complexa}")
# (28 > 25 AND "noite" != "noite") OR (NOT False)
# (True AND False) OR True
# False OR True
# True
 
# Mudando o horário para "dia"
horario = "dia"
condicao_complexa = (temperatura > 25 and horario != "noite") or (not esta_nublado)
print(f"Condição complexa (temperatura={temperatura}, horario='{horario}', esta_nublado={esta_nublado}): {condicao_complexa}")
# (28 > 25 AND "dia" != "noite") OR (NOT False)
# (True AND True) OR True
# True OR True
# True

💡 Desafio Rápido

Tente prever o resultado das seguintes expressões sem executá-las no Python. Depois, execute para verificar suas respostas!

  1. resultado1 = (10 > 5) and (20 < 15)
  2. resultado2 = not ((5 == 5) or (10 != 10))
  3. resultado3 = (True or False) and (not False)

📝 Resumo e Próximos Passos

Nesta aula, exploramos os Operadores de Comparação e os Operadores Lógicos.

  • Os operadores de comparação (==, !=, >, <, >=, <=) nos permitem comparar valores e sempre retornam True ou False.
  • Os operadores lógicos (and, or, not) nos permitem combinar ou inverter resultados booleanos, construindo condições mais elaboradas.

Dominar esses operadores é crucial, pois eles são a base para a tomada de decisões em qualquer programa. Na próxima aula, veremos como usar esses resultados booleanos em Estruturas Condicionais (if, elif, else), que são as ferramentas que permitem ao seu programa "escolher" qual caminho seguir com base nas condições avaliadas.

Até lá, pratique bastante com os exemplos e tente criar suas próprias expressões! ✨

© 2025 Escola All Dev. Todos os direitos reservados.

Operadores de Comparação e Lógicos - Fundamentos do Python para Iniciantes | escola.all.dev.br