TGViewer
Python Portal Python Portal @pythonportal · 50.6K subscribers
Post #4512 11.4K
Использование контекстного менеджера как таймера

Большинство разработчиков ассоциируют контекстные менеджеры (with-выражение) только с работой с файлами. Но на самом деле этот паттерн решает более общую задачу.

Контекстные менеджеры идеально подходят для управления любыми ресурсами, у которых есть чёткий момент начала и завершения. Например:

• File I/O
• Сессии логирования
• Транзакции в базе данных
• Сетевые и БД-соединения
• Замер производительности
• Управление потоками и блокировками

with гарантирует, что инициализация и очистка ресурса будут выполнены автоматически, даже если в блоке возникнет исключение. Это делает код чище и надёжнее.

Вместо того чтобы вручную замерять время до и после блока кода, можно использовать контекстный менеджер — это чистое и питоничное решение.

Обычно контекстный менеджер реализуется как класс с методами __enter__ и __exit__

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

Пример как использовать контекстный менеджер как таймер прикрепил ✌️

👉 @PythonPortal
  • 👍 30
  • ❤ 15
  • 🔥 4
More from @pythonportal
  1. Oct 14, 2026Основатели ElevenLabs сейчас, должно быть, дрожат от страха… Эти ребята только что выпусти…
  2. Oct 14, 20265 архитектур RAG Большинство RAG-систем ломаются в одном и том же месте. Проблема не в мод…
  3. Oct 13, 2026Если ищете хороший видеокурс по 3D-математике для игр, в котором сочетаются теория и практ…
  4. Oct 13, 2026👁👁 Тестовый собес на Python с разработчиком из Яндекса [+ ответы на 50 сложных вопросов…
  5. Oct 13, 2026NVIDIA действительно устранила одно из главных ограничений голосового ИИ. Компания открыла…
  6. Oct 12, 2026«Матричное дифференциальное исчисление для машинного обучения и не только» — бесплатный ку…
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 →