Подтвердить что ты не робот

Double equals vs находится в python

Я запускаю в интерпретаторе Python следующее:

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

Почему это?

4b9b3361

Ответ 1

is проверяет, что 2 аргумента ссылаются на один и тот же объект, == проверяет, что 2 аргумента имеют одинаковое значение. dir() возвращает a list, который содержит те же данные для foo и 10, но фактические экземпляры list для двух вещей различаются.