Pular para o conteúdo

Como usar o operador 'or' no Python?

CodeMDD.io

Utilizando o Operador Lógico “or” em Python

A lógica booleana é uma parte fundamental da programação. Ela permite testar condições e decidir qual caminho de execução o programa deve seguir. Neste tutorial, você aprenderá sobre o operador “or” em Python e como utilizá-lo.

Ao final deste tutorial, você terá aprendido:

  • Como o operador “or” em Python funciona;
  • Como utilizar o operador “or” em Python em contextos booleanos e não booleanos;
  • Quais tipos de problemas você pode resolver utilizando o “or” em Python;
  • Como ler e compreender melhor o código de outras pessoas ao utilizar recursos especiais do operador “or” em Python.

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

Lógica Booleana

A álgebra booleana, desenvolvida por George Boole (1815-1864), é a base para a lógica digital do hardware de computadores e das linguagens de programação.

A álgebra booleana é construída em torno dos valores de verdade de expressões e objetos (se são “verdadeiros” ou “falsos”) e é baseada nas operações booleanas “E” (AND), “OU” (OR) e “NÃO” (NOT). Essas operações são implementadas por meio de operadores lógicos ou booleanos, que permitem criar expressões booleanas, ou seja, expressões que avaliam se são verdadeiras ou falsas.

Com a ajuda da lógica booleana, você pode avaliar condições e decidir quais operações seus programas executarão, dependendo do valor de verdade dessas condições. Esse conceito é fundamental na programação e fornece as ferramentas necessárias para controlar o fluxo de execução dos seus programas.

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

  • “Booleano” é um tipo de valor que pode ser verdadeiro (True) ou falso (False). Em Python, o tipo booleano é ‘bool’, que é um subtipo de ‘int’.
  • Os valores booleanos são True ou False (com a primeira letra maiúscula) em Python.
  • Uma variável booleana é uma variável que pode ser True ou False. Variáveis booleanas são comumente usadas como “flags” para indicar se determinadas condições existem ou não.
  • Uma expressão booleana é uma expressão que retorna True ou False.
  • O contexto booleano em Python pode ser utilizado em condicionais “if” e laços “while”, onde Python espera que uma expressão avalie para um valor booleano. Você pode utilizar praticamente qualquer expressão ou objeto em um contexto booleano, e o Python tentará determinar o valor de verdade.
  • Os operandos são

A seguir, veremos detalhadamente como o operador “or” funciona e como utilizá-lo em diferentes contextos.

Como o Operador “or” Funciona

O operador “or” em Python é um operador lógico binário que retorna True se ao menos uma das condições for verdadeira. Dessa forma, ele permite que você crie expressões booleanas que avaliam múltiplas condições.

Utilizando o “or” com Expressões Booleanas

Você pode utilizar o operador “or” com expressões booleanas para verificar se ao menos uma das condições é verdadeira. O resultado da expressão será True se uma das condições for verdadeira, e False caso contrário.

a = True
b = False
if a or b:
print("Ao menos uma das condições é verdadeira")
else:
print("Nenhuma das condições é verdadeira")

Neste exemplo, o valor da variável “a” é True e o valor da variável “b” é False. A expressão a or b retornará True, já que pelo menos uma das condições é verdadeira.

Utilizando o “or” com Objetos Comuns

O operador “or” também pode ser utilizado com outros tipos de objetos comuns, não apenas com expressões booleanas. Nesse caso, o Python tentará determinar o valor de verdade do objeto com base em suas propriedades internas.

a = [1, 2, 3]
b = []
if a or b:
print("Pelo menos um dos objetos não está vazio")
else:
print("Ambos os objetos estão vazios")

Neste exemplo, a variável “a” contém uma lista com três elementos, enquanto a variável “b” está vazia. Mesmo que os objetos não sejam expressões booleanas, o Python consegue determinar que “a” não está vazio e, portanto, a expressão a or b retorna True.

Misturando Expressões Booleanas e Objetos

O operador “or” também permite misturar expressões booleanas e objetos comuns em uma única expressão. Nesse caso, o Python avaliará cada parte separadamente e retornará o resultado correto.

a = True
b = []
if a or b:
print("Pelo menos uma das condições é verdadeira ou algum dos objetos não está vazio")
else:
print("Nenhuma das condições é verdadeira e ambos os objetos estão vazios")

Neste exemplo, a variável “a” é True e a variável “b” está vazia. Como pelo menos uma das condições é verdadeira ou algum dos objetos não está vazio, a expressão a or b retorna True.

Avaliação de Curto-Circuito

Uma característica interessante do operador “or” em Python é a avaliação de curto-circuito. Isso significa que se o primeiro operando da expressão “or” for verdadeiro, o segundo operando não será avaliado, pois a expressão como um todo já será verdadeira. Essa característica pode ser útil para melhorar a eficiência do seu código.

a = True
if a or calculate_expensive_operation():
print("A primeira condição é verdadeira ou uma operação cara foi calculada")
else:
print("A primeira condição é falsa e a operação cara não foi calculada")

Neste exemplo, se a variável “a” for verdadeira, a função calculate_expensive_operation() não será chamada. Isso pode economizar recursos computacionais quando a segunda condição envolve uma operação demorada ou custosa.

Recapitulação

  • O operador “or” em Python é um operador lógico binário que retorna True se ao menos uma das condições for verdadeira.
  • Ele pode ser utilizado com expressões booleanas, objetos comuns ou até mesmo com uma mistura dos dois.
  • O Python utiliza a avaliação de curto-circuito para otimizar o desempenho ao utilizar o operador “or”.
  • Dominar o operador “or” permite que você escreva um código mais conciso e eficiente.

Contextos Booleanos

Em Python, existem diversos contextos onde são esperados valores booleanos, como condições “if” e laços “while”. Você pode utilizar o operador “or” em expressões dentro desses contextos para tomar decisões com base no valor de verdade dessas expressões.

Condições “if”

Dentro de uma condição “if”, o Python espera que a expressão avalie para um valor booleano. Você pode utilizar o operador “or” para criar expressões complexas que serão avaliadas com base no valor de verdade de cada parte.

a = 5
b = 10
c = 3
if a > b or b > c:
print("Pelo menos uma das condições é verdadeira")
else:
print("Nenhuma das condições é verdadeira")

Neste exemplo, a expressão a > b or b > c será avaliada como True, já que a segunda condição, b > c, é verdadeira.

Laços “while”

Os laços “while” também esperam uma expressão booleana em sua condição de parada. O operador “or” pode ser utilizado para criar expressões que controlam a continuação ou interrupção do laço com base em múltiplas condições.

total = 0
current = 1
while current <= 10 or total < 20:
total += current
current += 1
print("O total é:", total)

Neste exemplo, o laço “while” continuar iterando enquanto uma das duas condições for verdadeira. A expressão current <= 10 or total < 20 é avaliada como True, permitindo a execução do laço.

Contextos Não Booleanos

Além dos contextos booleanos mencionados anteriormente, o operador “or” também pode ser utilizado em contextos não booleanos. O Python tentará determinar o valor de verdade com base nas propriedades internas do objeto.

Valores Padrão para Variáveis

O operador “or” pode ser utilizado para atribuir valores padrão a variáveis. Se o valor da esquerda da expressão for falso ou vazio, o Python utilizará o valor da direita como padrão.

a = None
b = "valor padrão"
result = a or b
print("O valor é:", result)

Neste exemplo, a variável “a” é None, que é considerado um valor falso em Python. Portanto, a expressão a or b retorna “valor padrão”.

Valores de Retorno Padrão

Você também pode utilizar o operador “or” para definir um valor de retorno padrão em funções. Se a função não retornar um valor explícito, o Python utilizará o valor da direita como padrão.

def get_name():
return None or "Nome Padrão"
name = get_name()
print("Nome:", name)

Neste exemplo, a função get_name() retorna None, que é considerado um valor falso em Python. Portanto, o Python utiliza o valor “Nome Padrão” como retorno da função.

Argumentos Padrão Mutáveis

O operador “or” também pode ser utilizado para definir argumentos padrão mutáveis em funções. Dessa forma, você pode inicializar uma lista vazia, por exemplo, que será compartilhada entre as chamadas da função.

def add_number(number, number_list=None):
if number_list is None:
number_list = []
number_list.append(number)
return number_list
numbers = [1, 2, 3]
add_number(4, numbers)
print("Lista de Números:", numbers)

Neste exemplo, a função add_number() recebe um número e uma lista como argumentos. Se a lista não for especificada, o valor padrão será uma lista vazia. O valor padrão é criado sempre que a função é chamada, evitando que as chamadas subsequentes alterem o valor padrão.

Divisão por Zero

O operador “or” também pode ser utilizado para evitar erros de divisão por zero. Se a segunda expressão for verdadeira, ela será retornada em vez da divisão por zero.

a = 5
b = 0
result = b != 0 and a https://codemdd.io/ b or "Divisão por Zero"
print("Resultado:", result)

Neste exemplo, a variável “b” é zero, o que resultaria em um erro de divisão por zero. No entanto, a expressão b != 0 and a https://codemdd.io/ b or "Divisão por Zero" retorna a string “Divisão por Zero”, evitando o erro.

Múltiplas Expressões em lambda

O operador “or” também pode ser utilizado para avaliar múltiplas expressões em uma única função lambda. A função lambda retornará o valor da primeira expressão verdadeira.

lambda_expression = lambda x: x > 10 or x < 5 or x == 7
print("Resultado:", lambda_expression(6))

Neste exemplo, a função lambda possui três expressões encadeadas utilizando o operador “or”. A função retornará True se uma das expressões for verdadeira. No caso do valor 6, a primeira expressão (x > 10) é falsa, mas a segunda expressão (x < 5) é verdadeira, retornando True.

Conclusão

Neste tutorial, você aprendeu sobre o operador “or” em Python e como utilizá-lo em diferentes contextos. O operador “or” é fundamental para avaliar múltiplas condições e tomar decisões com base no valor de verdade delas.

Ao dominar o operador “or”, você poderá escrever um código mais conciso e eficiente. Além disso, você estará apto a ler e compreender melhor o código de outras pessoas quando elas utilizarem recursos especiais desse operador.

Aproveite os exemplos práticos apresentados neste tutorial para aprofundar seu entendimento do funcionamento do “or” em Python e coloque em prática esse conhecimento em seus próprios projetos.