Alles klar, in diesem Video werde ich versuchen, dich auszutricksen.
Ich möchte, dass Sie sich diese Ausdrücke ansehen, bei denen ich auf Gleichheit überprüfe, richtig?
Ich sage, hey, ist wahr gleich eins?
Ist eine leere Zeichenfolge gleich eins, weil Rassen gleich sind, die leer sind.
Gleich gut, einander.
Nun, pausiere das Video hier und versuche zu erraten, was das Ergebnis sein wird.
Fertig, übrigens, wenn Sie das zu hundert Prozent verstehen, gut für Sie, denn wenn dies mein erstes Mal war,
dass ich Python lerne, möchte ich dies bekommen.
Lass uns gehen.
Hmm, hast du das erwartet?
Wahr.
Wird so als wahr bewertet, weil eine leere Zeichenfolge einer als wahr bewerteten entspricht, die als falsch bewertet wurde.
Das macht Sinn, denn sie sind definitiv nicht gleich.
Rechts.
Ein leeres Array ist nicht gleich eins.
Und eine 10 entspricht zehn Komma null.
Und dann sind beide Strahlen, die leer sind, gleich wahr.
Der Grund, den ich Ihnen hier zeige, ist, dass das Doppelte gleich auf Gleichheit oder Gleichheit eines Werts prüft.
Das heißt, wenn beispielsweise der erste Wert gleich eins ist, gibt es zwei verschiedene Typen.
Einer ist eine ganze Zahl, einer ist ein Bolianer, es wird sie in den gleichen Typ umwandeln.
In diesem Fall wird dies so in einen booleschen Wert umgewandelt.
Und wenn Sie sich erinnern, ist eine davon die Wahrheit.
Dies wird also als wahr ausgewertet, weshalb wir wahr werden.
Was ist mit dem anderen?
Nun, ein leerer String ist falsey, also wird er zu false ausgewertet und false ist nicht gleich true, richtig.
Weil wir hier auf Gleichberechtigung prüfen.
Also wird einer von diesen in den anderen Typ umgewandelt.
Was ist mit einem leeren Array?
Auch hier ist ein leeres Array tatsächlich falsch.
Das wird also nicht gleich Eins, 10 entspricht einem Gleitkommawert von zehn Komma Null, der in eine ganze Zahl oder Gleitkommazahl
umgewandelt wird, und sie werden einander gleich sein.
Und das ist ein erwartetes Verhalten.
Und dann entspricht ein leeres Array einem leeren Array, wenn ich in Unordnung hinzufüge.
Eins, zwei, drei, eins, zwei, drei.
Und ich klicke auf Ausführen.
Ich bekomme eine ungültige Syntax, weil ich dieses Jahr habe.
Lassen Sie uns das noch einmal ausführen.
Ich werde wahr.
Das macht Sinn.
Lassen Sie uns dies in eins ändern und sehen, was passiert, wenn ich auf Ausführen klicke.
Alles klar, immer noch falsch.
Nun, das wird ein wenig knifflig, Ray, wie, hmm, hätte dies als wahr ausgewertet, aber nein, wir erhalten
falsch, damit dies nicht in eng gegenüber dem, was wir hier hatten, umgewandelt wird.
Lassen Sie sich dadurch nicht verwirren, denn dies wäre schlechter Code, wenn Sie so etwas überprüfen.
Nun, offensichtlich sollten Sie zwei Typen überprüfen, zwei gleiche Typen zusammen.
Wenn Sie Vergleichsoperatoren oder logische Operatoren wie diesen verwenden, vergleichen Sie idealerweise zwei Typen und lassen
diese Typkonvertierung nicht von Python durchführen.
Und hoffentlich findet Python es für uns heraus.
Aber ich hoffe, die doppelte Qualität macht Sinn, denn es gibt noch eine weitere Überprüfung, die wir durchführen können, und zwar ist und
ist gut, ist ein Schlüsselwort in Python.
Was passiert, wenn wir all diese E-Kennzeichen auf ändern, ist.
Glaubst du, es würde einen Unterschied geben?
Werfen wir einen Blick.
Wenn ich klicke, laufe.
Ich werde für alles falsch.
Hmm.
Was ist also der Unterschied hier bei Gleichheitsprüfungen auf Wertgleichheit, z. B. eins, zwei, drei?
Nun, das hat den gleichen Wert wie eins, zwei, drei in einer Liste wird tatsächlich überprüft, ob der Speicherort im
Speicher, an dem dieser Wert gespeichert wird, derselbe ist.
Lassen Sie uns das durchgehen.
So wahr ist, dass man nein, wahr ist nicht wahr ist gut, nur wahr.
Rechts?
Das wird wahr sein.
Wie wäre es mit.
String eins ist das?
Nein, ich meine, damit einer ein String ist, muss das einer sein, oder?
Da sich die eine Zeichenfolge nicht nur an einer Stelle im Speicher befindet, ist es buchstäblich genau dasselbe.
Was ist mit dieser Liste?
In der Tat, machen wir ein Array leer Array ist das oder ist diese Liste eine Liste?
Nun, wenn wir das ausführen.
Ich werde immer noch falsch.
Hmm.
Und das ist ein bisschen knifflig und auch fortgeschritten, jedes Mal wenn ich eine Liste erstelle, wird sie irgendwo im Speicher hinzugefügt.
Dies ist also an einem Ort, im Speicher, aber immer wenn ich eine neue Liste erstelle.
Es wird an einem anderen Ort erstellt, also sind dies zwei völlig unterschiedliche Listen, die sich an verschiedenen Orten im
Speicher befinden.
Es wird also überprüfen, hey, befindet sich das im selben Speicherplatz, im selben Bücherregal wie dieses?
Nein, das ist es nicht.
Aber warum funktioniert das für Dinge wie Zahlen und Zeichenfolgen?
Und das liegt daran, dass es sich unter der Haube um sehr einfache Typen handelt, die sich im Speicher befinden,
aber an einer Stelle im Gegensatz zu einer Art Liste, auch wenn dies möglicherweise dieselbe Liste mit denselben
Elementen ist.
Da dies eine Datenstruktur ist, wird sie jedes Mal, wenn wir sie erstellen, an einem neuen Ort erstellt, so dass selbst
wenn wir eine variable KI haben, die enthält.
Diese Liste.
Und übrigens, das wird für alle unsere Datenstrukturen wie Wörterbücher, Mengen, Tupel gleich sein, wenn
ich B gleich diesem tue und ich A überprüfe, ist das B?
Nein, sie werden in einem anderen Speicherbereich erstellt, also sind hier acht Punkte an einer anderen Stelle als B
zeigt, aber wenn ich das mache, ist A gleich B.
Ich werde wahr, weil diese doppelten Qualitätskontrollen.
Nur die Werte.
Dies ist ein etwas schwieriges Thema, daher müssen Sie sich dieses Video möglicherweise ein paar Mal ansehen, Sie müssen
es möglicherweise selbst ein paar Mal üben.
Aber bedenken Sie nur den Unterschied zwischen ist und doppelt gleich.
E ist tendenziell etwas strenger.
Sie suchen genau nach dem, wonach Sie suchen, im Vergleich zu Gleichheit, die den Wert überprüft.
Gut.
Das war ein doozy.
Wir sehen uns im nächsten Video.
Tschüss.