Resumo: neste tutorial, você aprenderá sobre os operadores lógicos do Python e como usá-los para combinar várias condições.
Introdução aos operadores lógicos do Python
Às vezes, você pode querer verificar várias condições ao mesmo tempo. Para fazer isso, você usa operadores lógicos.
Python tem três operadores lógicos:
and
or
not
o operador and
O operador and
verifica se duas condições são simultâneas True
:
a and b
Ele retorna True
se ambas as condições forem True
. E retorna False
se a condição a
ou b
for False
.
O exemplo a seguir usa o operador and
para combinar duas condições que comparam price
com números:
>>> price = 9.99
>>> price > 9 and price < 10
True
O resultado é True
porque price
é maior que 9 e menor que 10.
O exemplo a seguir retorna False
porque price
não é maior que 10:
>>> price > 10 and price < 20
False
Neste exemplo, a condição price > 10
retorna False
enquanto a segunda condição price < 20
retorna True
.
A tabela a seguir ilustra o resultado do operador and
ao combinar duas condições:
a | b | a and b |
Verdadeiro | Verdadeiro | Verdadeiro |
Verdadeiro | Falso | Falso |
Falso | Falso | Falso |
Falso | Verdadeiro | Falso |
Como você pode ver na tabela, a condição a
e b
só retorna True
se ambas as condições forem avaliadas como True
.
O operador or
Semelhante ao operador and
, o operador or
verifica várias condições. Mas ele retorna True
quando uma ou ambas as condições individuais são True
:
a or b
A tabela a seguir ilustra o resultado do operador or
ao combinar duas condições:
a | b | a or b |
Verdadeiro | Verdadeiro | Verdadeiro |
Verdadeiro | Falso | Verdadeiro |
Falso | Verdadeiro | Verdadeiro |
Falso | Falso | Falso |
O operador or
retorna False
somente quando ambas as condições são False
.
O exemplo a seguir mostra como usar o operador or
:
>>> price = 9.99
>>> price > 10 or price < 20
>>> True
Neste exemplo, price < 20
retorna True
, portanto, toda a expressão retorna True
.
O exemplo a seguir retorna False
porque ambas as condições são avaliadas como False
:
>>> price = 9.99
>>> price > 10 or price < 5
False
O operador not
O operador not
se aplica a uma condição. E inverte o resultado dessa condição, True
torna-se False
e False
torna-se True
.
not a
Se a condição for True
, o operador not
retorna False
e vice-versa.
A tabela a seguir ilustra o resultado do operador not
:
a | not a |
Verdadeiro | Falso |
Falso | Verdadeiro |
O exemplo a seguir usa o operador not
. price > 10
retorna False
, not price > 10
retorna True
:
>>> price = 9.99
>>> not price > 10
True
Aqui está outro exemplo que combina os operadores not
e and
:
>>> not (price > 5 and price < 10)
False
Neste exemplo, o Python avalia as condições com base na seguinte ordem:
- Primeiro,
(price > 5 and price < 10)
avaliada comoTrue
. - Em segundo lugar,
not True
avaliada comoFalse
.
Isso leva a um conceito importante chamado precedência de operadores lógicos.
Precedência de Operadores Lógicos
Quando você mistura os operadores lógicos em uma expressão, o Python os avalia na ordem chamada de precedência do operador.
Veja a seguir a precedência dos operadores not
, and
e or
:
Operador | Precedência |
---|---|
not | Alto |
and | Médio |
or | Baixo |
Com base nessas precedências, o Python agrupará primeiro os operandos para o operador com a precedência mais alta, depois agrupará os operandos para o operador com a precedência mais baixa e assim por diante.
Caso uma expressão tenha vários operadores lógicos com a mesma precedência, o Python os avaliará da esquerda para a direita:
|
significa |
|
|
significa |
|
|
significa |
|
|
significa |
|
Resumo
- Use operadores lógicos para combinar várias condições.
- Python tem três operadores lógicos:
and
,or
enot
. - A precedência do operador lógico do mais alto para o mais baixo:
not
,and
, eor
.