Como usar os operadores não iguais e iguais do Python

Publicados: 2022-01-29

Em Python, você pode usar os operadores não igual a e igual a para verificar se dois objetos Python têm o mesmo valor. Este tutorial ensinará como usar esses operadores com muitos códigos de exemplo.

Neste tutorial você aprenderá:

  • a sintaxe do operador diferente ( != ) e casos de uso,
  • a sintaxe do operador igual ( == ) com exemplos e
  • o uso dos operadores is e is not para verificar a identidade de quaisquer dois objetos Python.

Vamos começar.

Sintaxe do Operador Não Igual do Python

Para quaisquer dois objetos Python obj1 e obj2 , a sintaxe geral para usar o operador diferente é:

 <obj1> != <obj2>
  • retorna True quando os valores de obj1 e obj2 não são iguais e
  • retorna False caso contrário.

Nota : Como mencionado acima, obj1 e obj2 podem ser inteiros, números de ponto flutuante, strings, listas e assim por diante.

Exemplos de código de operador diferente do Python

Nesta seção, vamos codificar alguns exemplos para entender melhor o operador não igual .

Usando o Operador Não Igual do Python para Comparação

Aqui está nosso primeiro exemplo.

 num1 = 27 num2 = 3*9 num1 != num2 # Output: False

Você pode executar os exemplos de código no Geekflare Python IDE - diretamente do seu navegador. Ou você pode optar por executar em sua máquina local.

Como num1 = 27 e num2 também resulta em 27 ( 3*9 = 27 ), os valores de num1 e num2 são iguais. Portanto, o operador != retorna False .

Vamos dar outro exemplo.

No código abaixo, num1 está definido como 7. E num2 está definido como a string 7. Como são de tipos de dados diferentes, o operador não igual retorna True .

 num1 = 7 num2 = "7" num1 != num2 # Output: True

Você converte a string em um inteiro, conforme mostrado:

 num1 = 7 num2 = int("7") num1 != num2 # Output: False

Nesse caso, você pode ver que o resultado retornado é False — já que num1 e num2 agora são iguais ao inteiro 7.

Você também pode usar o operador não igual com coleções do Python, como listas, tuplas e conjuntos.

Nota : Para coleções de dados como listas, o operador não igual funciona verificando os valores de itens individuais. Por exemplo, duas listas list1 e list2 — cada uma de comprimento n — são iguais somente se list1[i] == list2[i] for i in {0,1,2,3,..n-1} .

Aqui está um exemplo:

 list1 = [2,4,6,8] list2 = [2,4,6,9] list1 != list2 # Output: True

No exemplo acima, list1 e list2 diferem em apenas um elemento. E o operador diferente != retorna True conforme o esperado.

Usando o operador Python Not Equal em condicionais

Você geralmente usará o operador diferente de como parte das condicionais do Python.

Por exemplo, o trecho de código abaixo mostra como você pode verificar se um número é ímpar ou não.

Um número que não é divisível por 2 é ímpar . E isso se reduz à condição num%2 != 0 .

 num = 7 if(num%2 != 0): print("The number is odd.") else: print("The number is even.") # Output: The number is odd.

Você também pode usar condicionais em compreensões de lista quando quiser reter apenas os elementos de lista que atendem a uma condição específica. No exemplo abaixo, odd_10 é a lista de todos os números ímpares menores que 10.

 odd = [num for num in range(10) if num%2 != 0] print(odd) # Output: [1, 3, 5, 7, 9]

E isso completa nossa discussão sobre o operador diferente ( != ).

Como você já deve ter adivinhado, o operador igual a produz o efeito oposto do operador diferente de.

Você aprenderá mais sobre isso na próxima seção.

Sintaxe do Operador Igual do Python

Aqui está a sintaxe para usar o operador igual a do Python:

 <obj1> == <obj2>  #where <obj1> and <obj2> are valid Python objects
  • retorna True quando os valores de obj1 e obj2 são iguais e
  • retorna False caso contrário.

Exemplos de código de operador igual do Python

O operador igual ( == ) pode ser usado de forma muito semelhante ao operador diferente.

Vamos codificar os seguintes exemplos:

  • para verificar se duas strings são iguais,
  • para verificar se um número é par, e
  • usar condicionais na compreensão da lista

Usando o Operador Não Igual do Python para Comparação

No trecho de código abaixo, str1 e str2 são iguais em termos de valor. Portanto, o operador igual ( == ) retorna True .

 str1 = "coding" str2 = "coding" str1 == str2 # Output: True
operador-equals-python
Operador Igual Python

Vamos agora usar o operador igual em uma expressão condicional.

Nota : Um número que é divisível por 2 é par . E no código, isso se reduz à condição num%2 == 0

 num = 10 if(num%2 == 0): print("The number is even.") else: print("The number is odd.") # Output: The number is even.

Vamos agora construir neste exemplo, use a compreensão de lista do Python para obter todos os números pares menores que 10.

 even_10 = [num for num in range(10) if num%2 == 0] print(even_10) # Output: [0, 2, 4, 6, 8]

No exemplo acima,

  • range(10) retorna um objeto range que pode ser repetido para obter todos os inteiros de 0 a 9.
  • A condição num%2 == 0 é True somente para números pares.
  • Então even_10 é a lista de todos os números pares menores que 10.

Até agora você aprendeu como verificar a igualdade usando os operadores diferente ( != ) e igual ( == ).

Na próxima seção, você aprenderá como verificar a identidade de dois objetos. Você verificará se dois objetos Python são idênticos .

Como usar o Python é e não é operadores

Se você é iniciante em programação Python, é possível que esteja confuso entre os operadores == e is . Vamos esclarecer isso nesta seção.

Na seção anterior, tivemos um exemplo em que str1 e str2 onde equal e o operador == retornaram True .

Agora execute o seguinte trecho de código.

 str1 = "coding" str2 = "coding" str1 is str2 # Output: False

Você pode ver que str1 is str2 retorna False .

Vamos dar um passo atrás e entender o que o operador is do Python faz.

O operador is opera em quaisquer dois objetos Python.
E retorna True somente se os dois objetos forem idênticos — ou seja, eles se referirem ao mesmo objeto na memória.

Mesmo que str1 seja igual a str2 , str1 não é str2 pois apontam para dois objetos diferentes na memória. E, portanto, eles têm identidades diferentes.

python-is-operador
== e não são iguais

Em Python, você pode usar a função id() para obter a identidade do objeto.

Execute a seguinte célula de código para obter as identidades de str1 e str2 .

 id(str1) # Sample output: 139935398870320 id(str2) # Sample output: 139935398871344

Como você pode ver, str1 e str2 têm identidades diferentes. E str1 is str2 retorna False como esperado.

Juntar as peças,

 <obj1> is <obj2> # returns True if and only if id(<obj1>) == id(<obj2>) # returns True

Vamos verificar isso rapidamente, conforme mostrado:

 str1 = "coding" str2 = str1 print(str1 is str2) print(id(str1) == id(str2)) # Output True True

Intuitivamente, o operador is not faz o oposto do operador is .

O operador is not opera em quaisquer dois objetos Python.
E retorna False apenas se os dois objetos forem idênticos — ou seja, eles se referirem ao mesmo objeto na memória. Caso contrário, retorna True .

Nos exemplos de código acima, tente substituir is por is not e verifique os resultados.

Conclusão

Espero que você tenha achado este tutorial útil.

Para resumir, você aprendeu:

  • como usar os operadores igual ( == ) e diferente ( != ) para verificar se dois objetos Python têm o mesmo valor,
  • a diferença entre igualdade e identidade de objetos Python, e
  • como os operadores is e is not do Python ajudam a verificar se dois objetos Python são idênticos.

Aprenda a calcular a diferença de horário ou fazer um jogo de cobra em python aqui.

Vejo todos vocês no próximo tutorial. Até lá, bom aprendizado e programação!