Встречается на 1% собеседований по Python
В чем разница между async def и def
async def объявляет асинхронную функцию (корутину), которая может приостанавливать выполнение с await, не блокируя поток. Обычная def создает синхронную функцию, выполняющуюся последовательно.
Ключевые отличия:
- Асинхронные функции работают с event loop и требуют
awaitдля вызова других асинхронных операций - Вызов
async defфункции безawaitвернет корутину (объект), а не результат - Асинхронные функции используются для I/O-bound операций (сеть, файлы и т.д.)
Пример:
python
import asyncio
async def async_task():
await asyncio.sleep(1)
return "Done"
def sync_task():
time.sleep(1)
return "Done"
# Вызов
async def main():
result = await async_task() # правильно
# async_task() # вернет корутину, но не выполнится
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы