Встречается на собеседованиях • сегодня
В чем разница между 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
интервью вопросы и ответы