Какой жизненный цикл объекта в Python

Python Senior СБЕР Роботы
Какой жизненный цикл объекта в Python
Ответы
Объект в Python проходит следующие этапы жизненного цикла: - **Создание** - объект создается при вызове конструктора (`__new__`) и инициализируется (`__init__`). - **Использование** - объект доступен в программе, на него могут ссылаться переменные. - **Уничтожение** - когда ссылок на объект не остается, сборщик мусора вызывает `__del__` (если определен) и освобождает память. Пример: ``` 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`)