Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Python: garbage collection, memory management

Сборщик мусора и счётчик ссылок?

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

Короткий ответ

Python использует счетчик ссылок для отслеживания использования объектов и сборщик мусора для удаления циклических ссылок. Счетчик ссылок автоматически освобождает память при достижении нуля, а сборщик мусора обрабатывает циклические зависимости.

Длинный ответ

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

Счетчик ссылок:

  • Каждый объект хранит счетчик количества ссылок на себя

  • При создании ссылки счетчик увеличивается

  • При удалении ссылки счетчик уменьшается

  • Когда счетчик достигает 0, память освобождается

Пример работы счетчика ссылок:

import sys

a = []  # Счетчик: 1
b = a   # Счетчик: 2
c = b   # Счетчик: 3

del a   # Счетчик: 2
del b   # Счетчик: 1
del c   # Счетчик: 0 - память освобождается

Сборщик мусора:

  • Обнаруживает и удаляет циклические ссылки

  • Работает на алгоритме поколений (generations)

  • Запускается автоматически при превышении порогов

Пример циклической ссылки:

class Node:
    def __init__(self):
        self.ref = None

a = Node()
b = Node()
a.ref = b  # Ссылка на b
b.ref = a  # Циклическая ссылка на a

# Даже после удаления переменных счетчик ссылок не обнулится
# Здесь вступает сборщик мусора
  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    3

  • Сложность:

    9

Навыки

  • Python

    Python

Ключевые слова

#garbage collection

#memory management

Подпишись на Python Developer в телеграм

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.