Встречается на собеседованиях • сегодня
В чем разница между слабыми и сильными ссылками в Python
В Python сильные ссылки (strong references) — это обычные ссылки, которые увеличивают счётчик ссылок объекта и предотвращают его удаление сборщиком мусора. Слабые ссылки (weak references) не увеличивают счётчик ссылок, позволяя объекту быть удалённым, если на него нет других ссылок.
Пример:
python
import weakref
class MyClass:
pass
obj = MyClass() # сильная ссылка
weak_obj = weakref.ref(obj) # слабая ссылка
print(weak_obj()) # <__main__.MyClass object at ...>
del obj
print(weak_obj()) # None, объект удалёнКлючевые отличия:
- Слабые ссылки не препятствуют сборке мусора
- Используются для кэшей, обработчиков событий, когда не нужно удерживать объект в памяти
- Доступ через вызов weakref (weak_obj())
- Модуль weakref также предоставляет WeakValueDictionary, WeakSet и др.
Слабые ссылки полезны для реализации паттернов без утечек памяти.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы