TGViewer
Python Academy Python Academy @python_academy · 44.2K subscribers
Post #1880 8.12K
Создаем контекстный менеджер с помощью декоратора

Обычно протокол управления контекстом реализовывают с помощью класса и двух магических методов: __enter__ и __exit__. Но такой подход может показаться слегка сложным.

Так вот, помимо написания своего класса, есть еще один способ создать контекстный менеджер — использовать декоратор @contextmanager из встроенного пакета contextlib.

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

 #contextlib
  • 👍 14
  • ❤ 4
More from @python_academy
  1. Sep 30, 2026Асинхронные запросы с aiohttp Модуль aiohttp представляет из себя асинхронный HTTP клиент/…
  2. Sep 29, 2026Typeshed Typeshed — это коллекция заглушек (stubs) для стандартной библиотеки Python, библ…
  3. Sep 28, 2026SCons SCons — это современная система сборки программного обеспечения, основанная на Pytho…
  4. Sep 27, 2026Что такое глубокая копия? Глубокая копия используется для хранения значений, которые уже с…
  5. Sep 26, 2026Pyrogram: Работа с Telegram API на Python Pyrogram - это выдающаяся библиотека на Python,…
  6. Sep 25, 2026Функция reload() Функция reload() в Python перезагружает ранее импортированный модуль. Это…
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 →