tg-me.com/python_academy/560
Last Update:
Создаем контекстный менеджер с помощью декоратора
Обычно протокол управления контекстом реализовывают с помощью класса и двух магических методов: __enter__
и __exit__
. Но такой подход может показаться слегка сложным.
Так вот, помимо написания своего класса, есть еще один способ создать контекстный менеджер — использовать декоратор @contextmanager
из встроенного пакета contextlib
.
Первая часть функции tag
, которая идёт до yield
, выполняется при входе в блок with
. Затем исполняется сам этот блок, а после этого завершается оставшаяся часть, которая идет после yield
.
#contextlib
BY Python Academy

Share with your friend now:
tg-me.com/python_academy/560