Va bene, in questo video cercherò di ingannarti.
Voglio che guardi queste espressioni in cui sto controllando l'uguaglianza, giusto?
Sto dicendo, ehi, vero è uguale a uno?
La stringa vuota è uguale a uno a causa della razza uguale che è vuota.
Uguali bene, l'un l'altro.
Ora, metti in pausa il video qui e prova a indovinare quali saranno i risultati di questo.
Pronto, a proposito, se ottieni il cento per cento su questo, beh, buon per te, perché se questa era
la prima volta che imparavo Python, voglio ottenere questo.
Andiamo.
Hmm, è quello che ti aspettavi?
Vero.
Valutato così vero perché uno valutato come vero, una stringa vuota uguale a uno valutato come falso.
Questo ha senso perché sicuramente non si equivalgono.
Destra.
Un array vuoto non è uguale a uno.
E un 10 è uguale a dieci virgola zero.
E poi entrambi i raggi che sono vuoti, uguali a vero.
Ora, il motivo per cui ti sto mostrando qui è che il doppio uguale controlla l'uguaglianza o l'uguaglianza di un valore.
Cioè, se, ad esempio, il primo vero è uguale a uno, ci sono due tipi diversi.
Uno è un numero intero, uno è un boliano, li convertirà nello stesso tipo.
In questo caso, questo verrà convertito in questo modo in un valore booleano.
E se ricordi, uno è Verità.
Quindi questo valuterà come vero, motivo per cui diventiamo vero.
E l'altro?
Bene, una stringa vuota è falsa, quindi restituisce false e false non è uguale a vero, giusto.
Perché qui stiamo verificando l'uguaglianza.
Quindi uno di questi viene convertito nell'altro tipo.
Che ne dici di un array vuoto?
Ancora una volta, un array vuoto è in realtà falso.
Quindi non sarà uguale a uno a 10 uguale a un float di dieci virgola zero che viene convertito in un numero
intero o float e si eguaglieranno a vicenda.
E questo è un comportamento previsto.
E poi un array vuoto, equivale a un array vuoto se aggiungo in disordine.
Uno, due, tre, uno, due, tre.
E clicco su Esegui.
Ottengo una sintassi non valida perché ho quest'anno.
Eseguiamolo di nuovo.
divento vero.
Ciò ha senso.
Cambiamo questo in uno e vediamo cosa succede se clicco su Esegui.
Va bene, ancora falso.
Ora, questo diventa un po' complicato, Ray, tipo, hmm, dovrebbe essere valutato come vero, ma no, otteniamo
falso quindi questo non viene convertito in stretto rispetto a quello che avevamo qui.
Ora, non lasciarti confondere da questo perché sarebbe un codice errato se stai controllando qualcosa del genere.
Beh, ovviamente dovresti controllare due tipi, due dello stesso tipo insieme.
Idealmente, quando usi operatori di confronto o operatori logici come questo, stai confrontando due tipi e non permetti a
Python di eseguire questa conversione di tipo.
E speriamo che Python lo capisca per noi.
Ma spero che la doppia qualità abbia senso perché c'è un altro controllo che possiamo fare, che è ed
è una parola chiave in Python.
Cosa succede se cambiamo tutti questi E cosign in è.
secondo voi ci sarebbe differenza?
Diamo un'occhiata.
Se clicco, corro.
Divento falso per tutto.
Hmm.
Quindi qual è la differenza qui uguale a controlli per l'uguaglianza di valore, ad esempio uno, due, tre?
Bene, questo ha lo stesso valore di uno, due, tre in un elenco in realtà controlla se la posizione in
memoria in cui è memorizzato questo valore è la stessa.
Passiamo attraverso quello.
Così vero è che uno no, vero non è vero è bene, solo vero.
Destra?
Sarà vero.
Che dire.
La stringa uno è quella?
No, voglio dire, perché uno sia una stringa, deve essere uno, giusto?
Poiché l'unica stringa non è solo in un posto in memoria, è letteralmente la stessa identica cosa.
E questa lista?
In effetti, facciamo che l'array array vuoto è quello o questo elenco è un elenco?
Bene, se eseguiamo questo.
Divento ancora falso.
Hmm.
E questo è un po' complicato e anche avanzato ogni volta che creo un elenco, viene aggiunto in memoria da qualche parte.
Quindi questo è in una posizione, in memoria, ma ogni volta che creo un nuovo elenco.
È stato creato in un'altra posizione, quindi si tratta di due elenchi completamente diversi che vivono in posizioni diverse
nella memoria.
Quindi controllerà, ehi, questo è nello stesso spazio di memoria, nella stessa libreria di quello?
No, non è quello.
Ma perché funziona per cose come numeri e stringhe?
E questo perché sotto il cofano, questi sono tipi molto semplici, che sono in memoria, ma in una
posizione rispetto a qualcosa come un elenco, anche se questo potrebbe essere lo stesso elenco con gli
stessi elementi.
Poiché questa è una struttura dati, ogni volta che la creiamo, viene creata in una nuova posizione in modo che
anche se abbiamo una variabile AI che contiene.
Questo elenco.
E a proposito, questo sarà lo stesso per tutte le nostre strutture di dati come dizionari,
insiemi, tuple, se faccio B uguale a questo e controllo A, è B?
No, sono creati in uno spazio di memoria diverso, quindi questo in cui otto punti è in un posto diverso da
dove punta B, ma se lo faccio A è uguale a B.
Divento vero perché questo doppio controllo di qualità.
Solo i valori.
Ora, questo è un argomento un po' difficile, quindi potresti dover guardare questo video un paio di volte, potresti dover fare
pratica un paio di volte tu stesso.
Ma tieni a mente la differenza tra is e double equals.
E tende ad essere un po' più severo.
Stai controllando la cosa esatta che stai cercando rispetto all'uguaglianza, che controlla il valore.
Tutto bene.
È stato un assurdo.
Ci vediamo nel prossimo video.
Ciao ciao.