sábado, 5 de dezembro de 2020

Operadores lógicos com string em Python

Para strings em python, os operadores booleanos (and, or, not) funcionam. Vamos considerar as duas strings, a saber, str1 e str2 e tentar operadores booleanos nelas:

str1 = ''
str2 = 'Lima'

# repr é usado para imprimir a string junto com as aspas

# Retorna str1 
print(repr(str1 and str2))

# Retorna str1
print(repr(str2 and str1))

# Retorna str2
print(repr(str1 or str2))

# Retorna str2
print(repr(str2 or str1))

str1 = 'Acervo'

# Retorna str2
print(repr(str1 and str2))

# Retorna str1
print(repr(str2 and str1))

# Retorna str1
print(repr(str1 or str2))

# Retorna str2
print(repr(str2 or str1))

str1='coleção'

# Retorna False
print(repr(not str1))

str1 = ''

# Retorna True
print(repr(not str1))

Resultado:

''
''
'Lima'
'Lima'
'Lima'
'Acervo'
'Acervo'
'Lima'
False
True

A saída das operações booleanas entre as strings depende do seguinte:

  1. Python considera strings vazias como tendo valor booleano de ‘false’ e string não vazia como tendo valor booleano de ‘true’.
  2. Para o operador 'and', se o valor esquerdo for verdadeiro, o valor direito será verificado e retornado. Se o valor da esquerda for falso, ele será retornado.
  3. Para o operador 'or', se o valor esquerdo for verdadeiro, ele será retornado; caso contrário, se o valor esquerdo for falso, o valor direito será retornado.

Observe que os operadores bit a bit (|, &) não funcionam para strings.

Artigo escrito por Nikhil Kumar Singh e melhorado por Suchendra Adiga e traduzido por Acervo Lima de Logical Operators on String in Python

0 comentários:

Postar um comentário