Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Войти

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

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

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про Python: coroutine, async, await, asynchronous programming

Что такое корутина в 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

    Python

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

#coroutine

#async

#await

#asynchronous programming

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