Встречается на собеседованиях • сегодня
Какой жизненный цикл объекта в Python
Объект в Python проходит следующие этапы жизненного цикла:
- Создание - объект создается при вызове конструктора (
__new__) и инициализируется (__init__). - Использование - объект доступен в программе, на него могут ссылаться переменные.
- Уничтожение - когда ссылок на объект не остается, сборщик мусора вызывает
__del__(если определен) и освобождает память.
Пример:
python
class Test:
def __init__(self, name):
self.name = name
print(f"Создан {self.name}")
def __del__(self):
print(f"Удален {self.name}")
a = Test("obj1") # Создание
b = a # Новая ссылка
del a # Удаление ссылки
del b # Удаление последней ссылки -> вызов __del__Важные нюансы:
__del__вызывается не сразу после удаления последней ссылки, а когда срабатывает сборщик мусора- Циклические ссылки могут предотвратить автоматическое удаление
- Для явного управления ресурсами лучше использовать контекстные менеджеры (
with)

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