Pular para o conteúdo

Como usar o Python facilmente?

[

Usando o operador “not” Booleano em Python

O operador “not” do Python permite inverter o valor lógico das expressões e objetos booleanos. Você pode usar esse operador em contextos booleanos, como declarações if e loops while. Ele também funciona em contextos não booleanos, o que permite inverter o valor lógico de suas variáveis.

Usar o operador not de maneira eficaz ajudará a escrever expressões negativas precisas para controlar o fluxo de execução em seus programas.

Neste tutorial, você aprenderá:

  • Como o operador “not” do Python funciona
  • Como usar o operador not em contextos booleanos e não booleanos
  • Como usar a função operator.not_() para realizar negação lógica
  • Como e quando evitar lógica negativa desnecessária em seu código

Você também codificará alguns exemplos práticos que permitirão entender melhor alguns dos principais casos de uso do operador not e as melhores práticas em torno de seu uso. Para aproveitar ao máximo este tutorial, você deve ter algum conhecimento prévio sobre lógica booleana, declarações condicionais e loops while.

Trabalhando com Lógica Booleana em Python

George Boole desenvolveu o que agora é conhecido como álgebra booleana, que se baseia em valores verdadeiro e falso. Ela também define um conjunto de operações booleanas: AND, OR e NOT. Esses valores booleanos e operadores são úteis na programação, pois ajudam você a decidir o curso de ação em seus programas.

>>> issubclass(bool, int)
True
>>> help(bool)
Help on class bool in module builtins:
class bool(int)
bool(x) -> bool
...

Este tipo tem dois possíveis valores, True e False, que são constantes internas no Python e devem ser escritas em maiúsculas. Internamente, o Python as implementa como números inteiros:

>>> type(True)
<class 'bool'>
>>> type(False)
<class 'bool'>
>>> isinstance(True, int)
True
>>> isinstance(False, int)
True
>>> int(True)
1
>>> int(False)
0

Internamente, o Python implementa seus valores booleanos como 1 para True e 0 para False. Teste executar True + True no seu interpretador interativo para ver o resultado.

Trabalhando com o Operador “not” em Python

O operador not permite inverter o valor lógico de uma expressão ou objeto booleano. Ele é usado para produzir o oposto do valor que a expressão ou objeto originalmente representa.

Usando o operador “not” em contextos booleanos

Em contextos booleanos, o operador not é usado frequentemente em combinação com as palavras-chave if e while para controlar o fluxo de execução do programa com base no valor lógico de uma expressão ou variável.

Declarações condicionais

Em uma declaração if, o operador not pode ser usado para inverter o resultado de uma expressão booleana:

>>> x = True
>>> if not x:
... print("A expressão é falsa")
... else:
... print("A expressão é verdadeira")
...
A expressão é falsa

Se o valor de x for True, a expressão not x será avaliada para False, então o bloco de código dentro do if será ignorado e o bloco de código no else será executado.

Loops “while”

No caso de um loop while, o operador not pode ser usado para testar o valor lógico de uma expressão e repetir o bloco de código até que a expressão seja avaliada como False:

>>> x = 0
>>> while not x >= 5:
... print(x)
... x += 1
...
0
1
2
3
4

O loop continuará executando enquanto o valor de x não for maior ou igual a 5. A cada iteração do loop, o valor de x é incrementado em 1 e impresso na saída.

Usando o operador “not” em contextos não booleanos

Além de contextos booleanos, o operador not também pode ser usado em contextos não booleanos para inverter o valor lógico de uma variável.

Por exemplo, suponha que você tenha uma variável score que represente a pontuação de um jogo, onde um valor maior que 0 indica uma pontuação válida e um valor igual a 0 indica que o jogador não pontuou. Você pode usar o operador not para verificar se o jogador não pontuou:

>>> score = 0
>>> if not score:
... print("Você não pontuou")
... else:
... print(f"Sua pontuação é {score}")
...
Você não pontuou

Se o valor de score for 0, a expressão not score será avaliada como True e o bloco de código dentro do if será executado. Se o valor de score for diferente de 0, a expressão será avaliada como False e o bloco de código dentro do else será executado.

Usando a função operator.not_()

Além do operador not, Python também fornece a função operator.not_() que realiza a negação lógica de um valor. Ela pode ser usada em vez do operador not em certos contextos, como quando você precisa passar uma função como argumento para outra função que espera uma função booleana:

>>> import operator
>>> x = True
>>> result = operator.not_(x)
>>> print(result)
False

A função operator.not_() retorna o valor booleano oposto ao valor original de x.

Trabalhando com o Operador “not” do Python: Melhores Práticas

Aqui estão algumas práticas recomendadas ao trabalhar com o operador not do Python:

Teste de associação

Ao usar o operador not para verificar a associação de um valor em uma coleção, como uma lista ou um dicionário, é recomendado usar o operador in em vez de usar o operador not com o operador in. Essa abordagem é mais legível e evita erros de lógica negativa:

>>> numbers = [1, 2, 3, 4, 5]
>>> if 6 not in numbers:
... print("O número 6 não está na lista")
...
O número 6 não está na lista

Verifique a identidade dos objetos

Ao usar o operador not para testar a identidade de objetos, como ver se um objeto é None, é recomendado usar o operador is em vez de usar o operador not com o operador is. Isso aumenta a legibilidade e evita erros de lógica negativa:

>>> x = None
>>> if x is None:
... print("A variável está com valor None")
...
A variável está com valor None

Evite lógica negativa desnecessária

Embora o operador not seja útil para inverter o valor lógico de expressões e objetos, evite usá-lo em excesso. Às vezes, a lógica negativa pode tornar o código mais difícil de entender e manter. Prefira usar expressões afirmativas sempre que possível.

Conclusão

Neste tutorial, você aprendeu a usar o operador not em Python para inverter o valor lógico de expressões e objetos booleanos. Você viu como utilizá-lo em contextos booleanos, como declarações if e loops while, e também em contextos não booleanos. Além disso, você aprendeu sobre a função operator.not_() e algumas melhores práticas ao usar o operador not em seu código.

Agora, você tem o conhecimento necessário para usar o operador not de forma eficaz em seus programas Python. Experimente os exemplos fornecidos e continue a explorar outros casos de uso para aprimorar suas habilidades de programação Python.