async def вместо def.
Например:
async def my_async_function():
await asyncio.sleep(1) # Пример асинхронной операции
return "Готово!"
Для создания асинхронной функции в Python используется ключевое слово async def. Это ключевое слово указывает, что функция является сопрограммой (coroutine), и ее выполнение может быть приостановлено и возобновлено в определенные моменты, не блокируя основной поток выполнения программы.
Вот простой пример:
import asyncio
async def my_async_function():
print("Начало выполнения асинхронной функции")
await asyncio.sleep(1) # Приостанавливаем выполнение на 1 секунду
print("Завершение выполнения асинхронной функции")
async def main():
await my_async_function()
if __name__ == "__main__":
asyncio.run(main())
Разберем пример:
async def my_async_function(): определяет асинхронную функцию с именем my_async_function.await asyncio.sleep(1): Ключевое слово await используется для приостановки выполнения функции до тех пор, пока не завершится операция, к которой оно применяется. В данном случае, функция приостанавливается на 1 секунду. Функция asyncio.sleep() сама по себе является асинхронной.async def main(): определяет еще одну асинхронную функцию, которая вызывает my_async_function.asyncio.run(main()): Эта строка запускает event loop (цикл событий) asyncio и выполняет асинхронную функцию main(). Функция asyncio.run() является самым простым способом запускать асинхронный код, но она создает новый event loop и закрывает его по завершении. Если вам нужно интегрировать асинхронный код в существующий event loop, вам могут потребоваться другие методы.Важные моменты:
await или использоваться в качестве задач (tasks) в цикле событий asyncio.await может использоваться только внутри async def функций.В этом примере мы используем asyncio.sleep() для имитации длительной операции. В реальных приложениях вместо этого будут использоваться асинхронные функции для работы с сетью, базами данных или другими ресурсами.