50
corro quanto segue nella interprete Python:doppio uguale VS è in python
>>> foo = 10
>>> dir(foo) == dir(10)
True
>>> dir(foo) is dir(10)
False
>>>
Perché è questo?
corro quanto segue nella interprete Python:doppio uguale VS è in python
>>> foo = 10
>>> dir(foo) == dir(10)
True
>>> dir(foo) is dir(10)
False
>>>
Perché è questo?
is
verifica che 2 argomenti facciano riferimento allo stesso oggetto, ==
verifica che 2 argomenti abbiano lo stesso valore. dir()
restituisce un list
che contiene gli stessi dati per foo
e 10
, ma le istanze effettive di list
per le 2 cose sono diverse.
roba interessante :) – ben
Un buon esempio è 1 == Veri restituisce Vero, ma 1 è Vero restituisce Falso. – Andrew
Un punto ancora più direttamente rilevante è che 'dir (10) è dir (10)' non sarà nemmeno 'True' (escludendo qualche tipo di ottimizzazione dell'interprete), mentre' dir (1) == dir (10) ' sarà 'True'. –