Я знаю, что в Python есть кэш для объектов с числовыми значениями от -5 до 256. Я могу подтвердить это в интерактивном окне Python (консоли). Например,
a = -10
b = -10
print(id(a))
1797396904912
print(id(b))
1797396904976
print(id(a) == id(b))
False
Однако, когда я запускаю точно такой же код с помощью скрипта:
a = -10
b = -10
print(id(a))
print(id(b))
print(id(a) == id(b))
, я получаю:
1797396904848
1797396904848
True
Что происходит? (Этот вопрос не имеет ничего общего с другим вопросом об id строк с пробелом и без него).