Back to questions
МТС
Junior — Middle
84
Какое ключевое слово в Python применяют для определения контекстного менеджера?
Companies where asked
Answer from AI
sobes.tech 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__ (для определения).