Каким образом можно написать функцию, которая выполняется асинхронно, то есть не блокирует основной поток выполнения?

В Python для написания асинхронной функции используется ключевое слово async def.

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

Что ответить на собеседовании

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

Подробный разбор

Ответ с пояснениями

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

Пример асинхронной функции:

import asyncio

async def async_function():
    print("Начало работы")
    await asyncio.sleep(1)  # имитация асинхронной операции
    print("Завершение работы")

async def main():
    await async_function()

asyncio.run(main())

В этом примере asyncio.sleep(1) не блокирует поток, а приостанавливает выполнение на 1 секунду, позволяя другим задачам выполняться.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее