==
делает больше, чем сравнение идентичности, когда задействованы целые числа. Он не просто проверяет, что два целых являются одним и тем же объектом; это фактически гарантирует, что их значения совпадают. Рассмотрим:
>>> x=10000
>>> y=10000
>>> x==y,x is y
(True, False)
>>> del x
>>> del y
>>> x=10000
>>> y=x
>>> x==y,x is y
(True, True)
«Стандартная» реализация Python делает некоторые вещи за кулисами для маленьких целых, поэтому при тестировании с небольшими значениями вы можете получить что-то другое. Сравните это с эквивалентным 10000
случаем:
>>> del y
>>> del x
>>> x=1
>>> y=1
>>> x==y,x is y
(True, True)