Встречается на собеседованиях • сегодня

В чем разница между корутиной и функцией

Корутина — это специальный тип функции, которая может приостанавливать своё выполнение и возобновлять его позже, сохраняя состояние между вызовами. В отличие от обычной функции, которая выполняется до конца и возвращает управление, корутина может "отдавать" контроль, не завершаясь.

Основные отличия:

  1. Приостановка выполнения: корутина может быть приостановлена (yield) и возобновлена.
  2. Состояние: сохраняет локальные переменные между вызовами.
  3. Асинхронность: часто используется в асинхронном программировании.

Пример с async/await:

python
async def coroutine():
    print("Start")
    await asyncio.sleep(1)
    print("End")

asyncio.run(coroutine())  # Start -> (1 sec) -> End

Обычная функция:

python
def regular_func():
    print("Start")
    time.sleep(1)  # Блокирует поток
    print("End")

regular_func()  # Start -> (1 sec) -> End
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы