Встречается на собеседованиях • сегодня

Какие магические методы работают в контекстном менеджере

В контекстных менеджерах Python работают два основных магических метода:

  1. __enter__(self) - вызывается при входе в блок with. Возвращаемое значение будет доступно через as.
  2. __exit__(self, exc_type, exc_val, exc_tb) - вызывается при выходе из блока with. Обрабатывает исключения, если они возникли.

Пример реализации:

python
class MyContextManager:
    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 MyContextManager() as cm:
    print("Inside context")
    # raise ValueError("Oops!")  # Исключение будет обработано
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы