1
resposta

Dúvida questão is vs ==

A questão pergunta quais expressões retornariam true, porém duas das respostas corretas estão descritas na correção que retornariam false.

1 resposta

A computação é baseada em base binária, 0 e 1 ou False e True respectivamente. Os valores correspondem, mas ambos não são idênticos. 0 e 1 são objetos inteiros, False e True são objetos booleanos.

O que ocorre é:

  • "==" compara apenas os valores sem levar em consideração o objeto como um todo.
  • "is" compara a identidade do objeto, sua instância, sua referência na memória e não apenas o valor definido.

Nas alternativas que você mencionou, de outra forma, é explicado esse ponto.

Para ficar mais evidente, fiz um teste básico:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade