Sobes.tech
Middle+
16

Что такое асинхронность в Python и как она работает?

Компании, где спрашивали
Сбербанк

Ответ от нейросети

sobes.tech AI

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

В Python асинхронность реализована через ключевые слова async и await, а также через цикл событий (event loop) из модуля asyncio. Функции, объявленные с async def, возвращают корутины — объекты, которые можно приостанавливать и возобновлять.

Пример:

import asyncio

async def fetch_data():
    print('Начинаю загрузку')
    await asyncio.sleep(2)  # имитация асинхронной операции
    print('Данные загружены')

async def main():
    await asyncio.gather(fetch_data(), fetch_data())

asyncio.run(main())

Здесь asyncio.sleep не блокирует поток, а позволяет выполнять другие задачи, пока "спит". Таким образом, асинхронность позволяет эффективно использовать ресурсы при работе с большим числом операций ввода-вывода.