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