Tipps für diejenigen, die verwirrt sind, wie man is und == in Python verwendet

Dies sollte im Objektvergleich verwendet werden

In Python können Sie "wenn x y ist" oder "wenn x == y" schreiben. Zu diesem Zeitpunkt können Sie sich mit is und == verlaufen. Daher sind die Unterschiede zwischen "is" und "==" unten zusammengefasst.

--is vergleicht Objekte (ob sie dasselbe Objekt sind) --==vergleicht Werte (ob sie der gleiche Wert sind)

Anwendungsfall (bei Verwendung von ist)

x = <object A> Ist definiert, if x is <object A>: Dies ist der Fall, wenn Sie einen bedingten Ausdruck schreiben möchten.

Natürlich für Richtig / Falsch-Vergleiche x = True Definieren, if x is True: Ist kein Fehler, aber in diesem Fall pythonisch if x: Es ist gut zu schreiben.

→ Der Grund, warum x True ist, ist in Ordnung, weil die Bool-Klasse True / False so konzipiert ist, dass es jeweils nur eine gibt.

The values False and True will be singletons, like None.

Quelle zitieren PEP285

Anwendungsfall (bei Verwendung von ==)

x = 1234 Ist definiert, if x == 1234: Dies ist der Fall, wenn Sie einen bedingten Ausdruck schreiben möchten.

Zusammenfassung

Nicht verwechseln ist mit ==, und verwenden Sie sie richtig.

Fußnote

Fußnote 1 Inhalt im Kommentarbereich von @ 7of9

https://docs.python.org/3.6/library/functions.html#id

id(object) ... CPython implementation detail: This is the address of the object in memory.

Ist die Basis des Dokuments.

Fußnote 2 Inhalt im Kommentarbereich von @shiracamus

Ich habe die Quelle von CPython überprüft. "is" wurde durch Is ersetzt, Is wurde durch PyCmp_IS ersetzt und PyCmp_IS verglich die Adressen wie folgt:

Python/ceval.c


static PyObject *
cmp_outcome(int op, register PyObject *v, register PyObject *w)
{
    int res = 0;
    switch (op) {
    case PyCmp_IS:
        res = (v == w);
        break;
    case PyCmp_IS_NOT:
        res = (v != w);
        break;

Am Ende führen wir einen Adressvergleich durch.

Recommended Posts

Tipps für diejenigen, die verwirrt sind, wie man is und == in Python verwendet
Verwendung ist und == in Python
[Für Anfänger] Wie man den Befehl say mit Python benutzt!
Dinge, die Sie bei der Verwendung von Python beachten sollten, wenn Sie MATLAB verwenden
Verwendung von SQLite in Python
Wie man MySQL mit Python benutzt
Verwendung von ChemSpider in Python
Verwendung von PubChem mit Python
Für diejenigen, die Probleme beim Zeichnen von Diagrammen mit Python haben
[Einführung in die Udemy Python3 + -Anwendung] 36. Verwendung von In und Not
Tipps zum Codieren kurz und einfach in Python zu lesen
Vergleich der Verwendung von Funktionen höherer Ordnung in Python 2 und 3
Für diejenigen, die in Schwierigkeiten sind, weil NFC beim Lesen von NFC mit Python endlos gelesen wird
[Einführung in Python] Wie verwende ich eine Klasse in Python?
So installieren und verwenden Sie pandas_datareader [Python]
Verwendung von Funktionen in separaten Dateien Perl-Version und Python-Version
Verwendung von Sternchen (*) in Python. Vielleicht ist das alles? ..
[Einführung in Python] Wie verwende ich den Operator in in der for-Anweisung?
[Python] Organisieren der Verwendung für Anweisungen
Python: Verwendung von Einheimischen () und Globalen ()
Verwendung von __slots__ in der Python-Klasse
Verwendung von "deque" für Python-Daten
Verwendung von Python zip und Aufzählung
Verwendung regulärer Ausdrücke in Python
Ein Hinweis für diejenigen, die Python in Visual Studio verwenden (ich)
So generieren Sie eine Sequenz in Python und C ++
Verwendung der Python-Bildbibliothek in der Python3-Serie
Zusammenfassung der Verwendung von MNIST mit Python
Wie man tkinter mit Python in Pyenv benutzt
[Python] Verwendung von Hash-Funktion und Taple.
Wie man Autokorrelation und partielle Autokorrelation mit Python zeichnet
OpenGoddard Verwendung der 2-Python-Bibliothek zur nichtlinearen optimalen Steuerung und Trajektoriengenerierung
Verwendung der OpenGoddard 3-Python-Bibliothek zur nichtlinearen optimalen Steuerung und Trajektoriengenerierung
Verwendung der OpenGoddard 4-Python-Bibliothek zur nichtlinearen optimalen Steuerung und Trajektoriengenerierung
Für diejenigen, die Excel VBA lernen und mit Python beginnen möchten
Verwendung von OAuth und API für Dienstkonten mit Google API Client für Python
5 Gründe, warum die Verarbeitung für diejenigen nützlich ist, die mit Python beginnen möchten
Verwendung der OpenGoddard 1-Python-Bibliothek zur nichtlinearen optimalen Steuerung und Trajektoriengenerierung
[Python] [Django] Verwendung des Auswahlfelds und Hinzufügen von Optionen
So führen Sie Python im virtuellen Raum aus (für MacOS)
[Python] So sortieren Sie Diktate in Listen und Instanzen in Listen
Ich habe versucht zusammenzufassen, wie man Pandas von Python benutzt
Für diejenigen, die Python mit vim schreiben möchten
Verwendung des in Lobe in Python erlernten Modells
Wie man Decorator in Django benutzt und wie man es macht
Python # So überprüfen Sie Typ und Typ für Super-Anfänger
Tipps für Python-Anfänger, um das Scikit-Image-Beispiel für sich selbst zu verwenden 7 Erstellen eines Moduls
Verwendung von pip, einem Paketverwaltungssystem, das für die Verwendung von Python unverzichtbar ist
python3: Verwendung der Flasche (2)
[Python] Verwendung von Liste 1
Wie benutzt man Python Argparse?
Python: Wie man pydub benutzt
[Python] Verwendung von checkio
Für diejenigen, die neu in der Programmierung sind, sich aber entschieden haben, Daten mit Python zu analysieren
Hinweise zur Verwendung von StatsModels, die lineare Regression und GLM in Python verwenden können
Wie man in Python entwickelt
~ Tipps für Python-Anfänger mit Liebe von Pythonista ③ ~
[Python] Verwendung von input ()
Wie benutzt man Python Lambda?
[Python] Verwendung von virtualenv
python3: Verwendung der Flasche (3)