dubbel is gelijk aan vs is in python

Ik voer het volgende uit in de Python-interpreter:

>>> foo = 10
>>> dir(foo) == dir(10)
True
>>> dir(foo) is dir(10)
False
>>> 

Waarom is dit?


Antwoord 1, autoriteit 100%

iscontroleert of 2 argumenten naar hetzelfde object verwijzen, ==controleert of 2 argumenten dezelfde waarde hebben. dir()retourneert een listdie dezelfde gegevens bevat voor zowel fooals 10, maar de werkelijke listinstanties voor de 2 dingen zijn verschillend.

Other episodes