«Ожидаемое значение» - это пересчет выделенного объекта.
Когда вы присвоили x
, вы выделили новый int
объект. Вы взяли другую ссылку и не удивились, увидев приращение счета на 1.
Когда вы присвоили a
, вы взяли ссылку на существующий объект. Интерпретатор cPython предварительно создал кэш из более чем двухсот маленьких целых чисел, а затем модули, которые вы import
редактировали, взяли ссылки на некоторые из них. Ваш пример вывода просто говорит, что существует более сотни ссылок, cf Что с целочисленным кэшем, поддерживаемым интерпретатором? .