Sobes.tech
Middle+

Wat is het verschil tussen de operators == en is in Python? Wanneer is het beter om welke te gebruiken?

sobes.tech AI

Antwoord van AI

De operator == in Python controleert de gelijkheid van de waarden van objecten, dat wil zeggen dat het de methode __eq__ aanroept en de inhoud of de gelijkheidslogica vergelijkt die in de klasse is gedefinieerd.

De operator is controleert of beide variabelen naar hetzelfde object in het geheugen verwijzen (objectidentiteit).

Wanneer gebruiken:

  • == — wanneer je wilt controleren of de gegevens gelijk zijn, bijvoorbeeld twee strings met dezelfde tekst.
  • is — wanneer je wilt controleren of de variabelen precies naar hetzelfde object verwijzen, bijvoorbeeld voor de controle op None (if x is None:).

Voorbeeld:

a = [1, 2, 3]
b = [1, 2, 3]
c = a

print(a == b)  # True, inhoud is gelijk
print(a is b)  # False, verschillende objecten
print(a is c)  # True, dezelfde referentie

x = None
print(x is None)  # True, juiste controle op None