Python é operador

Resumo : neste tutorial, você aprenderá sobre o isoperador Python e as diferenças entre o isoperador e os ==operadores de igualdade ().

Introdução ao operador Python is

O operador Python iscompara duas variáveis ​​e retorna Truese elas fizerem referência ao mesmo objeto. Se as duas variáveis ​​fizerem referência a objetos diferentes, o isoperador retornará False.

Em outras palavras, o isoperador compara a identidade de duas variáveis ​​e retorna Truese elas fizerem referência ao mesmo objeto.

Vejamos o seguinte exemplo:

a = 100
b = a
result = a is b
print(result)Linguagem de código:  PHP  ( php )

Saída:

TrueLinguagem de código:  PHP  ( php )

Como funciona:

  • Primeiro, defina a avariável que faz referência a um intobjeto com o valor de 100.
  • Segundo, defina outra variável bque faça referência ao mesmo objeto referenciado pela avariável.
  • Terceiro, use o isoperador para verificar se afaz breferência ao mesmo objeto e exibir o resultado.

Como ambos ae breferenciam o mesmo objeto, o resultado é True.

O exemplo a seguir define duas variáveis a​​e bas inicializa como 100:

a = 100
b = 100

result = a is b
print(result)Linguagem de código:  PHP  ( php )

Saída:

TrueLinguagem de código:  PHP  ( php )

Neste exemplo, não há ligação entre ae b. No entanto, quando você atribui 100a b, o Python Memory Manager reutiliza o objeto existente. Portanto, ambos ae bfazem referência ao mesmo objeto:

Observe que o resultado deste exemplo pode ser diferente, dependendo de como o Python Memory Manager é implementado. E você não deve contar com isso.

O exemplo a seguir define duas listas com os mesmos elementos e usa o isoperador para verificar se fazem referência ao mesmo objeto de lista:

ranks = [1, 2, 3]
rates = [1, 2, 3]

result = ranks is rates
print(result)Linguagem de código:  PHP  ( php )

Saída:

FalseLinguagem de código:  PHP  ( php )

Neste exemplo, as listas são objetos mutáveis . O Python Memory Manager não reutiliza a lista existente, mas cria uma nova na memória. Portanto, as variáveis ranks​​e ratesfazem referência a listas diferentes:

Python é operador vs == operador

O operador de igualdade ( ==) compara duas variáveis ​​quanto à igualdade e retorna Truese elas forem iguais. Caso contrário, ele retorna False.

O exemplo a seguir usa isoperador e ==operador:

a = 100
b = a

is_identical = a is b
is_equal = a == b

print(is_identical)
print(is_equal)Linguagem de código:  PHP  ( php )

Saída:

True
TrueLinguagem de código:  PHP  ( php )

Como ae bfaz referência ao mesmo objeto, ambos são idênticos e iguais.

No exemplo a seguir, ambas as listas têm os mesmos elementos, portanto são iguais.

No entanto, como fazem referência a diferentes objetos de lista na memória, eles não são idênticos:

ranks = [1, 2, 3]
rates = [1, 2, 3]

is_identical = ranks is rates
is_equal = ranks == rates

print(is_identical)
print(is_equal)
Linguagem de código:  PHP  ( php )

Saída:

False
TrueLinguagem de código:  PHP  ( php )

Python não é operador

Para negar o isoperador, você usa o notoperador. O is notoperador retorna Falsese duas variáveis ​​fizerem referência ao mesmo objeto. Caso contrário, ele retorna True.

O exemplo a seguir usa o is notoperador para verificar se as duas variáveis ​​não fazem referência ao mesmo objeto de lista:

ranks = [1, 2, 3]
rates = [1, 2, 3]

result = ranks is not rates
print(result)  # TrueLinguagem de código:  PHP  ( php )

Saída:

TrueLinguagem de código:  PHP  ( php )

Resumo

  • Use o isoperador para verificar se duas variáveis ​​fazem referência ao mesmo objeto.
  • Use o isoperador para verificar a identidade de duas variáveis ​​e ==para verificar a igualdade de duas variáveis.
  • Use o notoperador para negar o resultado do isoperador.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *