Tudo bem, neste vídeo, vou tentar enganar você.
Eu quero que você olhe para essas expressões onde estou verificando a igualdade, certo?
Estou dizendo, ei, o verdadeiro é igual a um?
A string vazia é igual a um devido aos iguais de raça que estão vazios.
Igualam bem, um ao outro.
Agora, pause o vídeo aqui e tente adivinhar quais serão os resultados disso.
Pronto, a propósito, se você conseguir cem por cento nisso, bom para você, porque se esta foi a
minha primeira vez aprendendo Python, quero fazer isso.
Vamos lá.
Hmm, era isso que você esperava?
Verdade.
Avaliado como verdadeiro porque um avaliado como verdadeiro, uma string vazia é igual a um avaliado como falso.
Isso faz sentido porque eles definitivamente não são iguais.
Direito.
Uma matriz vazia não é igual a um.
E um 10 é igual a dez vírgula zero.
E então ambos os raios que estão vazios, iguais ao verdadeiro.
Agora, o motivo pelo qual estou mostrando a você aqui é que o duplo igual verifica a igualdade ou igualdade de um
valor.
Ou seja, se, por exemplo, o primeiro verdadeiro for igual a um, há dois tipos diferentes.
Um é um inteiro, outro é um boliano, isso os converterá no mesmo tipo.
Nesse caso, isso será convertido assim para um valor booleano.
E se você se lembra, um é Truthy.
Portanto, isso será avaliado como verdadeiro, e é por isso que nos tornamos verdadeiros.
E o outro?
Bem, uma string vazia é falsey, então ela é avaliada como falsa e falsa não é igual a verdadeiro, certo.
Porque estamos verificando a igualdade aqui.
Portanto, um deles é convertido para o outro tipo.
Que tal um array vazio?
Novamente, um array vazio é realmente falsey.
Então isso não vai ser igual a um a 10 é igual a um float de dez vírgula zero que é convertido em um
inteiro ou float e eles vão se igualar.
E esse é um comportamento esperado.
E então uma matriz vazia também é igual a uma matriz vazia se eu adicionar desordem.
Um, dois, três, um, dois, três.
E eu clico em correr.
Recebi uma sintaxe inválida porque fiz este ano.
Vamos fazer isso de novo.
Eu entendo.
Isso faz sentido.
Vamos mudar para um e ver o que acontece se eu clicar em executar.
Tudo bem, ainda é falso.
Agora, isso fica um pouco complicado, Ray, tipo, hmm, deveria ter avaliado como verdadeiro, mas não, obtemos
falso para que isso não seja convertido em tight versus o que tínhamos aqui.
Agora, não se confunda com isso, porque isso seria um código ruim se você estiver verificando algo assim.
Bem, obviamente, você deve verificar dois tipos, dois dos mesmos tipos juntos.
Idealmente, quando você usa operadores de comparação ou operadores lógicos como este, você está comparando dois tipos e não está permitindo
que o Python faça essa conversão de tipo.
E espero que o Python descubra isso para nós.
Mas espero que a qualidade dupla faça sentido, porque há outra verificação que podemos fazer, que é e está
bem é uma palavra-chave em Python.
O que acontecerá se mudarmos todos esses co-sinais E para é.
Você acha que haveria diferença?
Vamos dar uma olhada.
Se eu clicar, corra.
Eu fico falso por tudo.
Hmm.
Então, qual é a diferença aqui entre verificações de igualdade em valor, como um, dois, três?
Bem, isso tem o mesmo valor que um, dois, três em uma lista, na verdade, verifica se o local na
memória onde esse valor está armazenado é o mesmo.
Vamos examinar isso.
A verdade é que não, a verdade não é uma verdade é bem, apenas a verdade.
Direito?
Isso será verdade.
A respeito.
String um é esse?
Não, quer dizer, para um ser uma string, isso precisa ser um, certo?
Porque a única string não está apenas em um lugar na memória, é literalmente exatamente a mesma coisa.
Que tal esta lista?
Na verdade, vamos fazer: array vazio array é isso ou esta lista é uma lista?
Bem, se executarmos isso.
Eu ainda fico falso.
Hmm.
E isso é um pouco complicado e também avançado toda vez que eu crio uma lista, ela é adicionada em algum lugar na memória.
Então isso está em um local, na memória, mas sempre que eu crio uma nova lista.
Ele é criado em outro local, então essas são duas listas completamente diferentes que vivem em locais diferentes
na memória.
Então vai verificar, ei, isso está no mesmo espaço de memória, na mesma estante que esta?
Não, não é isso.
Mas por que isso funciona para coisas como números e strings?
E isso porque, por baixo do capô, esses são tipos muito simples, que estão na memória, mas em
um local versus algo como uma lista, mesmo que essa possa ser a mesma lista com os
mesmos itens.
Por se tratar de uma estrutura de dados, cada vez que a criamos, ela é criada em um novo local de forma
que, mesmo que tenhamos uma variável AI que contenha.
Esta lista.
E, a propósito, isso será o mesmo para todas as nossas estruturas de dados como dicionários, conjuntos, tuplas,
se eu fizer B é igual a isso e verificar A, isso é B?
Não, eles são criados em um espaço de memória diferente, então este é onde oito pontos estão em um lugar diferente de
onde B aponta, mas se eu fizer A é igual a B.
Eu fico verdadeiro porque esta dupla verificação de qualidade.
Apenas os valores.
Agora, este é um tópico um pouco difícil, então você pode ter que assistir a este vídeo algumas vezes, você pode
ter que praticar algumas vezes você mesmo.
Mas lembre-se da diferença entre is e duplo igual.
E tende a ser um pouco mais rígido.
Você está verificando exatamente o que está procurando em relação à igualdade, o que verifica o valor.
Tudo bem.
Isso foi um doozy.
Te vejo no próximo vídeo.
Bye Bye.