Все квизы
Код-ревьюPythonПродвинутый

Жизненный цикл ресурсов

Проведи ревью четырёх фрагментов для Python 3.14, которые управляют временным состоянием, транзакцией, файлом и блокировкой. Найди дефект жизненного цикла ресурса и выбери исправление, которое работает и при исключении.

Вопрос 1 из 4Один правильный ответ

Код-ревью

as_user должна временно установить active_user и всегда восстановить прежнее значение. После исключения внутри with остаётся admin. Как исправить менеджер контекста?

from contextlib import contextmanager

active_user = "guest"

@contextmanager
def as_user(user):
    global active_user
    previous = active_user
    active_user = user
    yield
    active_user = previous
Выбери один ответ