ti-enxame.com

double equals vs está em python

Eu corro o seguinte no interpretador Python:

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

Por que é isso?

71
ben

is verifica que 2 argumentos se referem ao mesmo objeto, == verifica se 2 argumentos possuem o mesmo valor. dir() retorna um list que contém os mesmos dados para foo e 10, mas as instâncias reais de list para as duas coisas são diferentes.

133
Silas Ray