Что такое счетчик ссылок
Python
Middle
Без компании
Что такое счетчик ссылок
Ответы
Счётчик ссылок (reference counting) — это механизм управления памятью в Python, который автоматически отслеживает количество ссылок на объект. Каждый раз, когда создаётся новая ссылка на объект, счётчик увеличивается, а когда ссылка удаляется — уменьшается. Когда счётчик достигает нуля, память объекта освобождается.
**Пример:**
```
import sys
a = [1, 2, 3] # Счётчик = 1 (переменная 'a')
b = a # Счётчик = 2 (добавилась 'b')
print(sys.getrefcount(a)) # Выведет 3 (временная ссылка в getrefcount)
del b # Счётчик = 1 (удалили 'b')
a = None # Счётчик = 0 → сборщик мусора освобождает память
```
**Нюансы:**
- `sys.getrefcount()` временно увеличивает счётчик на 1.
- Циклические ссылки (когда объекты ссылаются друг на друга) не могут быть обработаны только счётчиком — для этого используется дополнительный сборщик мусора (GC).