TGViewer
Python community developers Python community developers @python_scrypt · 1.51K subscribers
Post #503 3.48K
Более простой способ создания контекстных менеджеров

Почти год назад на канале было объяснение про то, что такое контекстные менеджеры и зачем они нужны. Также был пост, показывающий, как создавать классы с использованием протокола менеджера контекста.

Но не всегда хочется реализовывать магические методы __enter__ и __exit__. В качестве альтернативы есть один классный прием в пакете contextlib. Там протокол управления контекстом реализован с использованием декоратора contextmanager.

Первая часть функции tag,  которая идёт до yield, выполняется при входе в блок with. Затем исполняется сам этот блок, а после этого завершается оставшаяся часть функции tag.

 #contextlib
More from @python_scrypt
  1. May 31, 2025⚡️ drawDB — удобный инструмент для проектирования баз данных Редактор диаграмм, работающий…
  2. May 29, 2025⚙️ Управление временем выполнения функций с помощью тайм-аутов в Python Иногда требуется о…
  3. May 28, 2025Naive В методе Naive цикл for используется для обхода второго списка. После этого элементы…
  4. May 27, 2025👨‍💻 Распознавание текста на изображении с помощью Python 🎞 Видеоурок с подключением кон…
  5. May 26, 2025➡️ Извлечение уникальных элементов из списка с сохранением порядка 🗣️ Обычно, когда нужно…
  6. May 25, 2025➡️ Использование contextlib.contextmanager для создания контекстных менеджеров Иногда быва…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →