TGViewer
Python Academy Python Academy @python_academy · 44.1K subscribers
Post #334 35.7K
Более простой способ создания контекстных менеджеров

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

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

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

 #contextlib
  • 👍 1
More from @python_academy
  1. Oct 8, 2026Разделители для целых чисел Трудно визуально различить целые числа подобные 10000000 и 100…
  2. Oct 7, 2026Знакомство с библиотекой NumPy в Python Что такое NumPy? NumPy (Numerical Python) - это по…
  3. Oct 6, 2026Генерируем QR-код Простой, но удобный и полезный пакет для создания QR-кодов. Для отрисовк…
  4. Oct 5, 2026Корутины (Coroutines) В PEP 342 были представлены корутины, которые стали некой противопол…
  5. Oct 4, 2026Порядок разрешения методов В Python существует так называемый Method Resolution Order (MRO…
  6. Oct 3, 2026Полезные функции модуля itertools Модуль itertools - инструмент в 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 →