TGViewer
Библиотека питониста | Python, Django, Flask Библиотека питониста | Python, Django, Flask @pyproglib · 37.2K subscribers
Post #7166 3.61K
🔳 PEP 806 — смешанные синхронные и асинхронные контекстные менеджеры с точной маркировкой async

Python предлагает удобный способ работы с несколькими контекстными менеджерами через with и async with. Но до сих пор смешивание синхронных и асинхронных менеджеров требовало глубокой вложенности или использования громоздких обходных решений, вроде чрезмерного применения AsyncExitStack.

📪 PEP 806 предлагает разрешить использовать в одном with и синхронные, и асинхронные менеджеры, просто помечая асинхронные ключевым словом async.

Пример старого подхода с глубокой вложенностью:
async def process_data():
async with acquire_lock() as lock:
with temp_directory() as tmpdir:
async with connect_to_db(cache=tmpdir) as db:
with open('config.json', encoding='utf-8') as f:
config = json.load(f)
await db.execute(config['query'])


С PEP 806 код станет компактнее и читаемее:
async def process_data():
with (
async acquire_lock() as lock,
temp_directory() as tmpdir,
async connect_to_db(cache=tmpdir) as db,
open('config.json', encoding='utf-8') as f,
):
config = json.load(f)
await db.execute(config['query'])


🔛 Меньше вложенности
🔛 Чёткая маркировка асинхронного кода
🔛 Легче читать и поддерживать

🌠 Полный текст PEP: https://clc.to/Kx-lqQ

🐸 Библиотека питониста

#буст
  • 👍 18
  • ❤ 4
More from @pyproglib
  1. Oct 7, 2026🎓 С Днём учителя! Учиться никогда не поздно — особенно когда технологии меняются быстрее,…
  2. Oct 3, 2026📚Напоминаем про наш полный курс «Самоучитель по Python для начинающих» Мы написали и собр…
  3. Oct 2, 2026🎹 Что делать после ChatGPT? Следующий шаг — AI-агенты. Они не просто отвечают на запросы,…
  4. Sep 30, 2026🔥 Последний день для разработчиков AI уже пишет код. Теперь важнее научиться встраивать е…
  5. Sep 25, 2026🔥 Курс «ИИ для разработчиков» уже стартовал И мы решили открыть первое занятие всем — мож…
  6. Sep 20, 2026👻 94% токенов уходят не на код Анализ запусков показал: основная часть токенов уходит на…
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 →