Как известно, объекты обладают identity и value. Для сравнение на первое используется is, на второе - ==. Но почему тогда результаты отличаются в следующем примере?
>>> x = 1000
>>> y = 1000
>>> x is y
False # ожидаемо
>>> x = 42
>>> y = 42
>>> x is y
True # почему???