Learning Hub Logo

Sobre Diego Pinho

Professor especialista em tecnologia com mais de 10 anos de experiência. Autor de livros técnicos e criador de cursos que já impactaram milhares de estudantes.

Visite meu site principal →

Serviços

  • Área do Aluno
  • Consultoria Personalizada
  • Cursos Completos
  • Trabalhe Conosco

Redes Sociais

  • Youtube
  • TikTok
  • Instagram
  • LinkedIn

Links

  • Nosso Blog
  • Learning Hub
  • Cursos Online
  • Livros Publicados

Professor Diego Pinho

Educação, Tecnologia e IA © 2026

Python›Operadores de comparação

Operadores de comparação

Os operadores de comparação em Python

⚡2 min de leitura

O que são os operadores de comparação

Nas aulas de matemática da escola, você deve ter visto símbolos como =, ≠, <, >, ≤ e ≥ para comparar números.

Em Python a ideia é a mesma: comparamos valores e obtemos um resultado booleano (True ou False). A diferença é que alguns símbolos aparecem de outra forma aqui.

Tabela de operadores de comparação

OperadorNa matemáticaNomeExemplo
===Igual ax == y
!=≠Diferente dex != y
>>Maior quex > y
<<Menor quex < y
>=≥Maior ou igual ax >= y
<=≤Menor ou igual ax <= y

Agora, vamos ver como cada operador funciona.

Igualdade (==)

Compara os valores e retorna True quando são iguais. Quando não são iguais, retorna False.

1print(5 == 5) # 5 é igual a 5? sim! 2print(5 == 7) # 5 é igual a 7? não! 3 4# Saída:

Dica rápida: na matemática usamos = para dizer que duas coisas são iguais. Já em Python, a igualdade é escrita com dois sinais de igual (==). O = é o operador de atribuição, que vimos na lição anterior e que guarda um valor numa variável.

Diferença (!=)

Retorna True quando os valores não são iguais, ou seja, quando são diferentes entre si:

1idade = 18 2print(idade != 18) # 18 é diferente de 18? não! 3print(idade != 21) # 18 é diferente de 21? sim! 4

Maior que (>) e Menor que (<)

Comparam a ordem entre números ao dizer se o que aparece antes do operador é maior ou menor que o que aparece depois dele:

1print(7 > 3) # 7 é maior que 3? sim! 2print(2 < 2) # 2 é menor que 2? não! 3 4# Saída:

Maior ou igual a (>=)

Retorna True se o primeiro valor for maior ou igual ao segundo valor comparado.

1nota = 7 2print(nota >= 7) # 7 é maior ou igual a 7? sim, é igual! 3print(nota >= 8) # 7 é maior ou igual a 8? não! 4

Menor ou igual a (<=)

Retorna True se o primeiro valor for menor ou igual ao segundo valor comparado.

1limite = 100 2print(limite <= 100) # 100 é menor ou igual a 100? sim, é igual! 3print(limite <= 99) # 100 é menor ou igual a 99? não! 4

Comparações e tipos:

Comparando valores booleanos (True e False)

Os valores booleanos se comportam como números inteiros: True equivale a 1 e False equivale a 0. Isso significa que eles também podem ser usados em comparações numéricas.

1print(True > False) # 1 é maior que 0? não! 2print(True == 1) # 1 é igual a 1? sim! 3 4# Saída:

Esse comportamento pode ser útil em algumas situações, mas atenção: True e False ainda são do tipo bool, e não int.

Comparando strings

As strings também podem ser comparadas, mas não da forma mais intuitiva. Essa comparação é feita com base na ordem alfabética Unicode, também chamada de ordem lexicográfica.

Em outras palavras, o Python compara caractere por caractere usando o código interno de cada símbolo.

1print("Ana" < "Bruno") 2 3# Saída: 4# True

Isso acontece porque a letra A vem antes da B na tabela Unicode, mas é importante saber que as letras maiúsculas e minúsculas têm valores diferentes. Todas as maiúsculas vêm antes das minúsculas no Unicode. Assim:

1print("Zebra" < "abelha") 2 3# Saída: 4# True

Isso ocorre porque Z (maiúsculo) tem valor Unicode menor que a (minúsculo).

Comparando tipos diferentes

Nem todos os tipos podem ser comparados entre si. A partir da versão 3 do Python, comparar tipos incompatíveis, como números com strings, gera erro.

1print(10 < "10") 2 3# Saída: 4# Traceback (most recent call last): 5# File "<python-input-2>", line 1, in <module> 6

Esse erro existe para evitar resultados ambíguos. Se você precisar comparar tipos diferentes, primeiro converta um deles com funções como int(), float() ou str(), conforme o caso.

Encadeando comparações

Python permite encadear comparações para escrever intervalos de forma natural, exatamente como fazemos em matemática.

Podemos escrever:

1x = 5 2print(1 < x < 10) # 5 é maior que 1 E menor que 10? sim! 3 4# Saída: 5

Também vale com igualdade no meio do caminho:

1x = 7 2y = 7 3print(3 <= x == y < 10) # 3 <= x é True. y < 10 é True. 4

Com os operadores de comparação, seu código consegue testar condições e produzir valores booleanos claros. No próximo passo, vamos combinar esses resultados usando os operadores lógicos para criar regras ainda mais poderosas e expressivas.

← AnteriorOperadores de atribuiçãoPróximo →Operadores lógicos
5# True
6# False
5# Saída:
6# False
7# True
5# True
6# False
5# Saída:
6# True
7# False
5# Saída:
6# True
7# False
5# True
6# True
# print(10 < '10')
7# ^^^^^^^^^
8# TypeError: '<' not supported between instances of 'int' and 'str'
# True
5# Saída:
6# True # True é igual a True? Sim!