Junior — Middle
Кое ключова дума в Python се използва за определяне на контекстен мениджър?
sobes.tech AI
Отговор от AI
В Python за дефиниране на контекстен мениджър се използва ключовата дума with при неговото използване, а за създаване на собствен контекстен мениджър обикновено се прилагат методите __enter__ и __exit__ в клас.
Обаче, ако става въпрос за декларация на функция-контекстен мениджър, се използва декораторът @contextmanager от модула contextlib.
Пример за създаване на контекстен мениджър с помощта на клас:
class MyContextManager:
def __enter__(self):
print('Влизане в контекста')
return self
def __exit__(self, exc_type, exc_val, exc_tb):
print('Излизане от контекста')
with MyContextManager():
print('Вътре в контекста')
Пример с използване на @contextmanager:
from contextlib import contextmanager
@contextmanager
def my_context():
print('Вход')
yield
print('Изход')
with my_context():
print('Вътре')
Следователно, ключовите думи за работа с контекстни мениджъри са with (за използване) и методите __enter__ и __exit__ (за дефиниране).