Heim >Backend-Entwicklung >Python-Tutorial >Python-String-Vergleich: Warum schlägt „is not' fehl, wenn „!=' erfolgreich ist?

Python-String-Vergleich: Warum schlägt „is not' fehl, wenn „!=' erfolgreich ist?

Susan Sarandon
Susan SarandonOriginal
2024-12-24 08:29:45518Durchsuche

Python String Comparison: Why Does

Verstehen des String-Vergleichs in Python: is vs. ==

Beim Vergleich von Strings in Python ist es wichtig, den Unterschied zwischen „is“ und „==“ zu verstehen "Operatoren. Die folgende Frage verdeutlicht die Verwirrung und liefert aufschlussreiche Antworten:

Frage:
„Ich bin auf eine Endlosschleife gestoßen, als ich mit „ist nicht“ überprüft habe, ob eine Zeichenfolge leer ist, aber „ !=' hat richtig funktioniert. Warum? wenn zwei Objekte auf genau dieselbe Instanz im Speicher verweisen, während „==“ auf Wertgleichheit prüft. Beim Vergleich von Zeichenfolgen sollte im Allgemeinen „==" verwendet werden, da sich die meisten integrierten Python-Objekte wie Zeichenfolgen konsistent mit diesen Operatoren verhalten.

Bezüglich der Wahl des Operators für int- oder boolesche Vergleiche lautet die Anleitung wie folgt:

Verwenden Sie „==" für die Wertgleichheitsprüfung.

Verwenden Sie „is" speziell für Identitätsprüfungen, wenn es darum geht Finden von Objekten mit derselben Speicheradresse.

    Eine wichtige Optimierung, die für Ints zu beachten ist, besteht darin, dass kleine ganze Zahlen aus Leistungsgründen mit „is“ verglichen werden können, auf dieses Verhalten sollte man sich jedoch nicht verlassen.
  • Es wird außerdem empfohlen, für boolesche Vergleiche „x“ anstelle von „if x == True“ und für None „is None“ anstelle von „== None“ zu verwenden Vergleiche.
  • Zusammenfassend sollte „==" die Standardauswahl für String-, Int- und Boolesche Vergleiche sein, während „is" für bestimmte Fälle reserviert ist, in denen die Objektidentität relevant ist.

Das obige ist der detaillierte Inhalt vonPython-String-Vergleich: Warum schlägt „is not' fehl, wenn „!=' erfolgreich ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn