TGViewer
Python Academy Python Academy @python_academy · 44.1K subscribers
Post #705 23.1K
Изменение в контекстных менеджерах

Как вы знаете, для удобного управления жизненным циклом ресурсов в python существуют контекстные менеджеры. Но до недавнего времени, чтобы открыть несколько ресурсов в рамках одной области видимости with нам требовалось либо прописывать их в одну строку либо использовать синтаксис переноса - обратный слеш \ (но это противоречит PEP8).

С выходом python 3.10 появился новый синтаксис, позволяющий в круглых скобках указывать несколько контекстных менеджеров. А также мы можем использовать переменную созданную одним контекстным менеджером в рамках следующего за ним менеджера.

Это стало возможным благодаря появлению нового синтаксического анализатора PEG в python 3.9. И, строго говоря, python 3.9 уже допускал данный синтаксис, хотя официально еще не поддерживался.

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