Встречается на 2% собеседований по Python
Как устроен контекстный менеджер
Контекстный менеджер в Python — это объект, который определяет методы __enter__() и __exit__(), позволяя управлять ресурсами в блоке with.
__enter__()выполняется при входе в блокwithи возвращает объект для работы.__exit__()вызывается при выходе (даже при исключении), освобождая ресурсы.
Пример:
python
class FileManager:
def __init__(self, filename, mode):
self.filename = filename
self.mode = mode
def __enter__(self):
self.file = open(self.filename, self.mode)
return self.file
def __exit__(self, exc_type, exc_val, exc_tb):
self.file.close()
with FileManager('test.txt', 'w') as f:
f.write('Hello!') # файл закроется автоматическиТакже можно использовать contextlib.contextmanager для создания менеджера через генератор.

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