Встречается на собеседованиях • сегодня

Как Python выделяет память под переменную

В Python управление памятью автоматизировано благодаря механизму подсчёта ссылок и сборщику мусора.

  • Счетчик ссылок: Каждый объект имеет счетчик, который увеличивается при создании новой ссылки и уменьшается при её удалении. Когда счетчик достигает нуля, память освобождается.
  • Сборщик мусора (GC): Дополнительно обрабатывает циклические ссылки, которые не могут быть удалены через счетчик.

  • Динамическая типизация: Переменные — это просто ссылки на объекты в куче (heap). Размер выделяемой памяти зависит от типа объекта (int, list и т.д.).

Пример:

python
a = 42  # Создается объект int, a ссылается на него  
b = a   # b теперь тоже ссылается на тот же объект (счетчик = 2)  
del a   # Счетчик уменьшается до 1  

Для оптимизации мелкие целые числа и строки могут кэшироваться интерпретатором.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы