Middle
51
questionbank

С помощью каких инструментов можно создать свой собственный контекстный менеджер в Python?

Получайте ответы на вопросы в реальном времени с Sobes Copilot
Ответ от нейросети sobes.tech

Создать контекстный менеджер можно двумя основными способами:

  1. Использование классов с методами __enter__ и __exit__.
  2. Использование декоратора contextmanager из модуля contextlib.

Пример с классом:

python

Пример с декоратором contextmanager:

python

Выбор между этими способами зависит от сложности логики и предпочтений. Классовый подход более явный и подходит для сложной логики с управлением ресурсами. Декоратор contextmanager удобен для более простых случаев и когда логика может быть выражена в виде генератора.