Встречается на собеседованиях • сегодня
Как работает контекстный менеджер в Python
Контекстные менеджеры в Python позволяют управлять ресурсами (файлы, соединения и т.д.) с помощью протокола with. Они гарантируют, что ресурсы будут корректно освобождены даже при возникновении исключения.
Основные методы:
__enter__()– выполняется при входе в блокwith, возвращает объект для работы__exit__()– выполняется при выходе из блока, обрабатывает исключения
Пример с файлом:
python
with open('file.txt', 'r') as f:
data = f.read()
# Файл автоматически закрывается после блокаСоздание своего контекстного менеджера:
python
class MyContext:
def __enter__(self):
print("Entering context")
return self
def __exit__(self, exc_type, exc_val, exc_tb):
print("Exiting context")
if exc_type:
print(f"Exception occurred: {exc_val}")
return True # Подавляем исключение
with MyContext() as ctx:
print("Inside context")
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы