‫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?
‫Verdadeiro.
‫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 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.
‫Hum.
‫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 nós executarmos isso.
‫Eu ainda fico falso.
‫Hum.
‫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 modo
‫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 double equals.
‫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.
‫Tchau tchau.