Sobes.tech
Junior — Middle

Czy możesz wyjaśnić, co oznacza asynchroniczne wykonywanie kodu w Pythonie i jak to działa?

sobes.tech AI

Odpowiedź od AI

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

Это достигается с помощью ключевых слов async и await. Функции, объявленные с async def, называются корутинами и могут приостанавливать своё выполнение в точках await, позволяя другим задачам выполняться параллельно.

Пример:

import asyncio

async def say_hello():
    print("Привет")
    await asyncio.sleep(1)  # имитируем задержку
    print("Пока")

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

asyncio.run(main())

В этом примере две корутины выполняются одновременно, и программа не блокируется во время ожидания sleep. Асинхронность полезна для повышения производительности при работе с вводом-выводом.