Pular para o conteúdo

Como usar o operador or em Python?

CodeMDD.io

Usando o Operador “or” em Python

Ao programar em Python, é muito comum ter que testar condições e decidir qual caminho de execução seguir com base nesses testes. Para realizar essas operações, Python oferece três operadores booleanos: and, or e not. Neste tutorial, você aprenderá sobre o operador or em Python e como utilizá-lo em diferentes contextos.

Ao final deste tutorial, você aprenderá:

  • Como o operador or em Python funciona;
  • Como utilizar o operador or em contextos booleanos e não booleanos;
  • Que tipos de problemas podem ser resolvidos usando o or em Python;
  • Como ler e compreender o código de outras pessoas quando elas utilizam recursos especiais do operador or.

Você aprenderá a utilizar o operador or em Python através de exemplos práticos. Mesmo que você não utilize todas as possibilidades que o operador or oferece, dominá-lo permitirá que você escreva um código melhor.

Lógica Booleana

George Boole (1815-1864) desenvolveu o que é conhecido hoje como Álgebra Booleana, que é a base da lógica digital por trás do hardware de computadores e linguagens de programação.

A Álgebra Booleana é construída em torno do valor de verdade das expressões e objetos (se são verdadeiros ou falsos) e é baseada nas operações booleanas AND, OR e NOT. Essas operações são implementadas através de operadores lógicos ou operadores booleanos que permitem criar expressões booleanas, que são expressões que avaliam como verdadeiro ou falso.

Através da lógica booleana, é possível avaliar condições e decidir quais operações serão executadas em um programa, dependendo do valor de verdade dessas condições. Isso é um dos pilares fundamentais da programação e fornece as ferramentas necessárias para controlar o fluxo de execução dos programas.

Aqui estão alguns conceitos básicos relacionados à lógica booleana em Python:

  • Booleano é um tipo de valor que pode ser True (verdadeiro) ou False (falso). Em Python, o tipo booleano é bool, que é um subtipo de int.

  • Valores booleanos são os valores True ou False em Python (com a primeira letra maiúscula).

  • Uma variável booleana é uma variável que pode ser True ou False. Variáveis booleanas são comumente usadas como “flags” para indicar a existência de condições específicas.

  • Uma expressão booleana é uma expressão que retorna True ou False.

  • Contexto booleano pode ser um if ou um while, onde Python espera que uma expressão seja avaliada como um valor booleano. Você pode usar virtualmente qualquer expressão ou objeto em um contexto booleano, e Python tentará determinar o seu valor de verdade.

  • Operandos são os valores ou expressões que são avaliados pelos operadores booleanos. No caso do operador or, o resultado será True se pelo menos um dos operandos for True, caso contrário, o resultado será False.

Agora que você compreende os conceitos básicos da lógica booleana em Python, vamos explorar como o operador or funciona em diferentes contextos.

Como o Operador “or” em Python Funciona

O operador or é um operador binário que retorna True se pelo menos um dos operandos for True, caso contrário, retorna False.

Usando o Operador “or” com Expressões Booleanas

Em contextos booleanos, o operador or é geralmente utilizado com expressões que retornam True ou False. Vamos ver um exemplo:

x = 5
y = 10
if x > 0 or y > 0:
print("Pelo menos um dos números é positivo")
else:
print("Os dois números são negativos")

Neste exemplo, a condição x > 0 or y > 0 será avaliada como True se pelo menos uma das variáveis x ou y for maior do que zero. Caso o resultado seja True, a mensagem “Pelo menos um dos números é positivo” será impressa. Caso contrário, a mensagem “Os dois números são negativos” será impressa.

Usando o Operador “or” com Objetos Comuns

Em Python, o operador or também pode ser utilizado com objetos comuns, como strings, listas e dicionários. Nesses casos, o resultado da expressão objeto1 or objeto2 será o próprio objeto1 se ele for avaliado como True, caso contrário, será o objeto2. Veja um exemplo:

nome = ""
sobrenome = "Silva"
nome_completo = nome or sobrenome
print(nome_completo) # Saída: "Silva"

Neste exemplo, a variável nome está vazia, enquanto a variável sobrenome contém o valor “Silva”. Ao utilizar o operador or com essas variáveis, o resultado será o próprio sobrenome, pois a variável nome é avaliada como False.

Misturando Expressões Booleanas e Objetos

Uma característica interessante do operador or em Python é que ele permite misturar expressões booleanas e objetos comuns. Dessa forma, é possível escrever código mais conciso e elegante. Veja um exemplo:

idade = 21
nome = ""
if idade >= 18 or nome:
print("Pessoa elegível")
else:
print("Pessoa não elegível")

Neste exemplo, a condição idade >= 18 or nome será avaliada como True se a variável idade for maior ou igual a 18 ou se a variável nome não estiver vazia. Caso o resultado seja True, a mensagem “Pessoa elegível” será impressa. Caso contrário, a mensagem “Pessoa não elegível” será impressa.

Avaliação de Curto-Circuito

Uma característica importante do operador or em Python é que ele realiza uma avaliação de curto-circuito. Isso significa que se o primeiro operando for avaliado como True, o segundo operando não será avaliado, pois o resultado final já está determinado. Isso é útil em situações em que a avaliação subsequente exigiria recursos desnecessários. Veja um exemplo:

x = 0
y = 10
resultado = x or y
print(resultado) # Saída: 10

Neste exemplo, o primeiro operando x é avaliado como False, então o Python pula a avaliação do segundo operando y e retorna o valor de y como resultado.

Contextos Booleanos

Além de ser utilizado em expressões condicionais como o if, o operador or também pode ser usado em outros contextos booleanos, como em um loop while. Veja um exemplo:

x = 0
while x < 5 or x == 0:
print(x)
x += 1

Neste exemplo, o loop será executado enquanto a condição x < 5 or x == 0 for avaliada como True. A cada iteração, o valor de x será impresso e incrementado em 1. O loop será interrompido quando a condição for avaliada como False.

Contextos Não Booleanos

O operador or em Python pode ser utilizado em contextos não booleanos, como atribuição de valores padrão para variáveis ou no retorno de funções. Veja alguns exemplos:

Valores Padrão para Variáveis

def saudacao(nome=None):
nome = nome or "Anônimo"
print(f"Olá, {nome}!")
saudacao() # Saída: "Olá, Anônimo!"
saudacao("Maria") # Saída: "Olá, Maria!"

Neste exemplo, a função saudacao recebe um nome como parâmetro, mas caso nenhum nome seja fornecido, será atribuído o valor padrão “Anônimo” à variável nome.

Valores de Retorno Padrão

def multiplicar(a, b=None):
b = b or 1
return a * b
resultado1 = multiplicar(3) # Retorna 3
resultado2 = multiplicar(3, 5) # Retorna 15

Neste exemplo, a função multiplicar recebe dois números como parâmetros. Caso apenas o primeiro número seja fornecido, será atribuído o valor padrão 1 à variável b, garantindo que a multiplicação seja realizada corretamente.

Conclusão

O operador or é uma ferramenta poderosa da lógica booleana em Python. Através dele, é possível avaliar expressões e objetos, controlar o fluxo de execução dos programas e atribuir valores padrão para variáveis. Dominar o uso do operador or abrirá um mundo de possibilidades ao desenvolver seus programas em Python.

Você aprendeu como utilizar o operador or em Python, explorando diferentes contextos em que ele pode ser utilizado. Agora você pode escrever código mais conciso e elegante, tirando proveito das características únicas do operador or. Continue praticando e aprimorando suas habilidades em Python!

Recursos Adicionais

Se você quer se aprofundar ainda mais no uso do operador or em Python, recomendo os seguintes recursos:

Agora que você está armado com o conhecimento necessário sobre o operador or em Python, vá em frente e explore as possibilidades que ele oferece em seus projetos!