is versus ==

is fragt, ob zwei Namen dasselbe Objekt sind. == fragt, ob ihre Werte übereinstimmen. Nutze is None für einen fehlenden Wert.

Syntax

a is b
a == b
value is None
  • Zwei Listen mit denselben Elementen sind gleich, aber sie sind nicht dasselbe Objekt.

Beispiel

a = []
b = a
c = []
print(a is b)
print(a is c)
print(a == c)

Ausgabe:

True
False
True

Häufige Fehler

  • Nutze == für Zahlen und Text. is mit einem Literal kann so aussehen, als würde es funktionieren, und dann scheitern.

Übe es