Работал ли с корутинами в Python
Python
Senior
Без компании
Работал ли с корутинами в Python
Ответы
Да, работал с корутинами в Python. Они позволяют писать асинхронный код с помощью `async/await`. Корутины — это специальные функции, которые можно приостанавливать и возобновлять, что полезно для I/O-bound задач.
Пример:
```
import asyncio
async def fetch_data():
print("Начинаем загрузку данных...")
await asyncio.sleep(2) # Имитация долгой операции
print("Данные загружены!")
return {"data": 123}
async def main():
task = asyncio.create_task(fetch_data())
print("Делаем что-то параллельно...")
await task # Ожидаем завершения корутины
print(f"Результат: {task.result()}")
asyncio.run(main())
```
Ключевые моменты:
- `async def` определяет корутину.
- `await` приостанавливает выполнение, пока операция не завершится.
- `asyncio.create_task()` запускает корутину в фоне.
- `asyncio.run()` запускает event loop.
Использую корутины для работы с асинхронными библиотеками (HTTP-запросы, базы данных и т. д.).