Это деталь реализации.
Для CPython (обычный ...), фактически даже сам 5
не занимает дополнительного места! прочтите здесь (целые числа от -5
до 256
живут в заранее выделенном массиве).
Также в CPython идентификатор, возвращаемый id
- это просто адрес в памяти переменной, поэтому он также не требует дополнительной памяти для «сохранения».
Что касается самих переменных, они, скорее всего, занимают некоторое место в некоторая таблица символов, которая должна помнить их привязку.