Встречается на собеседованиях • сегодня
Можно ли создать асинхронный контекстный менеджер в Python
Да, в Python можно создать асинхронный контекстный менеджер с помощью протокола __aenter__ и __aexit__. Для этого нужно определить класс с этими методами и использовать его с async with.
Пример:
python
import asyncio
class AsyncContextManager:
async def __aenter__(self):
print("Entering async context")
return self
async def __aexit__(self, exc_type, exc, tb):
print("Exiting async context")
async def main():
async with AsyncContextManager():
print("Inside async context")
asyncio.run(main())
text
Также можно использовать декоратор `@asynccontextmanager` из модуля `contextlib`:
```python
from contextlib import asynccontextmanager
@asynccontextmanager
async def async_manager():
print("Entering")
yield
print("Exiting")
async def main():
async with async_manager():
print("Inside")
asyncio.run(main())
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы