Expressões Condicionais - Python
Em Python, diversas operações são conhecidas como expressões condicionais. Essas operações utilizam dois operandos e retornam um valor lógico, representado pelo tipo bool
True
False
Operações de Comparação
As expressões condicionais mais simples são operações de comparação, que comparam dois valores. Python oferece as seguintes operações de comparação:
: Retorna==
se ambos os operandos forem iguais. Caso contrário, retorna False.True
: Retorna!=
se ambos os operandos forem diferentes. Caso contrário, retorna False.True
(maior que): Retorna>
se o primeiro operando for maior que o segundo.True
(menor que): Retorna<
se o primeiro operando for menor que o segundo.True
(maior ou igual): Retorna>=
se o primeiro operando for maior ou igual ao segundo.True
(menor ou igual): Retorna<=
se o primeiro operando for menor ou igual ao segundo.True
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 bool2
As operações de comparação podem ser usadas com diferentes tipos de objetos, como strings, números e valores booleanos. No entanto, ambos os operandos devem ser do mesmo tipo.
Operações Lógicas
Para criar expressões condicionais mais complexas, utilizam-se operadores lógicos. Python oferece os seguintes operadores lógicos:
(conjunção lógica): Aplica-se a dois operandosand
.x and y
Primeiramente, o operador
avalia o operandoand
. Sex
forx
, ele retorna o valor deFalse
. Sex
forx
, ele avalia o segundo operando,True
, e retorna o valor dey
.y
age = 22 weight = 58 result = age > 21 and weight == 58 print(result) # True
Nesse exemplo, o operador
compara os resultados de duas expressões:and
eage > 21
. Se ambas retornaremweight == 58
, o operador and também retornaTrue
.True
Os operandos do operador and nã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 False
Neste caso, o número
e a string vazia0
são considerados como""
, enquanto todos os outros números e strings não vazias são equivalentes aFalse
.True
(disjunção lógica): Aplica-se a dois operandosor
.x or y
O operador or avalia primeiro o operando
. Sex
forx
, ele retorna o valor deTrue
. Caso contrário, ele avalia o segundo operando,x
, e retorna o valor dey
. Por exemplo:y
age = 22 isMarried = False result = age > 21 or isMarried print(result) # True, pois a expressão age > 21 é True
Assim como o
, o operadorand
pode ser aplicado a qualquer valor:or
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 operando
(negação lógica): Inverte o valor lógico de uma expressão.not
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
True
valor in conjunto_de_valores
Por exemplo, uma string é uma sequência de caracteres. Com o operador in
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
True
message = "hello world!"
gold = "gold"
print(gold not in message) # True - a substring "gold" não está presente em "hello world!"