Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад

Что такое корутина в Python?

Вопрос проверяет знание корутин, их роли в асинхронном программировании и основных операций с ними.

Короткий ответ

Корутина — это специальная функция в Python, которая может быть приостановлена и возобновлена в будущем. Корутины используются для выполнения асинхронного кода, который не блокирует выполнение других задач. Они создаются с помощью ключевых слов async и await.

Длинный ответ

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

- Как работают корутины:

Корутина определяется с помощью ключевого слова async перед функцией.

async def my_coroutine():
    print("Start")
    await some_async_function()
    print("End")

Ключевое слово await указывает, что выполнение этой корутины должно быть приостановлено до завершения указанной асинхронной операции.

 

Пример:

import asyncio

async def greet(name):
    await asyncio.sleep(1)
    print(f"Hello, {name}!")

async def main():
    await greet("Alice")
    await greet("Bob")

asyncio.run(main())

Вывод:

(Задержка 1 секунда)
Hello, Alice!
(Задержка 1 секунда)
Hello, Bob!

Вместо ожидания блокирующих операций корутины позволяют выполнять другие задачи, что делает их идеальными для ввода-вывода, запросов к базам данных и работы с сетевыми запросами.

 

Преимущества корутин:

- Повышение производительности за счет одновременного выполнения задач.

- Удобный синтаксис для работы с асинхронными операциями.

Уровень

  • Рейтинг:

    2

  • Сложность:

    8

Навыки

  • Python

Ключевые слова

#coroutine

#async

#await

#asynchronous programming

Подпишись на Python Developer в телеграм