Sobes.tech
Back to questions
Junior — Middle
55

Мог бы ты объяснить, что такое сопрограммы и как они работают?

Answer from AI

sobes.tech AI

Сопрограммы (coroutines) — это специальные функции, которые могут приостанавливать своё выполнение и позже возобновлять его, сохраняя своё состояние между вызовами. В Python сопрограммы часто используются для асинхронного программирования и позволяют писать код, который не блокирует выполнение, ожидая результата.

В Python сопрограммы создаются с помощью ключевого слова async def и управляются с помощью await. При вызове сопрограммы она возвращает объект, который можно запустить в цикле событий.

Пример простой сопрограммы:

import asyncio

async def say_hello():
    print("Hello")
    await asyncio.sleep(1)  # приостанавливает выполнение на 1 секунду
    print("World")

asyncio.run(say_hello())

Здесь await позволяет приостановить выполнение функции, не блокируя весь поток, и возобновить его после завершения асинхронной операции.