Operadores de Comparação e Lógicos em Python
Em Python, várias operações são classificadas como expressões condicionais. Essas operações utilizam dois operandos e retornam um valor lógico, representado pelo tipo bool. Existem apenas dois valores lógicos em Python: True (verdadeiro) e False (falso).
Operadores de Comparação
As expressões condicionais mais simples são operações de comparação, que comparam dois valores. Python oferece os seguintes operadores de comparação:
==: RetornaTruese ambos os operandos forem iguais. Caso contrário, retornaFalse.!=: RetornaTruese ambos os operandos forem diferentes. Caso contrário, retornaFalse.>(maior que): RetornaTruese o primeiro operando for maior que o segundo.<(menor que): RetornaTruese o primeiro operando for menor que o segundo.>=(maior ou igual): RetornaTruese o primeiro operando for maior ou igual ao segundo.<=(menor ou igual): RetornaTruese o primeiro operando for menor ou igual ao segundo.
Exemplos de operações de comparação:
a = 5
b = 6
result = 5 == 6 # O resultado da operação é armazenado na variável
print(result) # False - 5 não é igual a 6
print(a != b) # True
print(a > b) # False - 5 é menor que 6
print(a < b) # True
bool1 = True
bool2 = False
print(bool1 == bool2) # False - bool1 não é igual a bool2Os operadores de comparação podem ser usados com diferentes tipos de objetos, como strings, números e valores booleanos. No entanto, ambos os operandos devem ser do mesmo tipo.
Operadores Lógicos
Para criar expressões condicionais mais complexas, utilizam-se operadores lógicos. Python oferece os seguintes operadores lógicos:
and(conjunção lógica): Aplica-se a dois operandosx and y.Primeiramente, o operador
andavalia o operandox. SexforFalse, ele retorna o valor dex. SexforTrue, ele avalia o segundo operando,y, e retorna o valor dey.age = 22 weight = 58 result = age > 21 and weight == 58 print(result) # TrueNesse exemplo, o operador
andcompara os resultados de duas expressões:age > 21eweight == 58. Se ambas retornaremTrue, o operador and também retornaTrue.Os operandos do operador
andnão precisam ser valores booleanos. Qualquer valor pode ser usado. Por exemplo:result = 4 and "w" print(result) # "w", pois 4 é considerado como True, então retorna o último operando result = 0 and "w" print(result) # 0, pois 0 é equivalente a FalseNeste caso, o número
0e a string vazia""são considerados comoFalse, enquanto todos os outros números e strings não vazias são equivalentes aTrue.or(disjunção lógica): Aplica-se a dois operandosx or y.O operador or avalia primeiro o operando
x. SexforTrue, ele retorna o valor dex. Caso contrário, ele avalia o segundo operando,y, e retorna o valor dey. Por exemplo:age = 22 isMarried = False result = age > 21 or isMarried print(result) # True, pois a expressão age > 21 é TrueAssim como o
and, o operadororpode ser aplicado a qualquer valor:result = 4 or "w" print(result) # 4, pois 4 é equivalente a True, então retorna o primeiro operando result = 0 or "w" print(result) # "w", pois 0 é equivalente a False, então retorna o último operandonot(negação lógica): Inverte o valor lógico de uma expressão.age = 22 isMarried = False print(not age > 21) # False print(not isMarried) # True print(not 4) # False print(not 0) # True
Operador in
O operador in retorna True se um valor específico estiver presente em uma sequência de valores. Sua forma geral é:
valor in conjunto_de_valoresPor exemplo, uma string é uma sequência de caracteres. Com o operador in, podemos verificar se uma substring está presente em uma string:
message = "hello world!"
word = "hello"
print(word in message) # True - a substring "hello" está presente em "hello world!"Se quisermos verificar se um valor não está presente em um conjunto, utilizamos a modificação not in, que retorna True se o valor não estiver presente no conjunto:
message = "hello world!"
gold = "gold"
print(gold not in message) # True - a substring "gold" não está presente em "hello world!"