В asyncio вы делаете task.cancel(), а внутри корутины стоит:
👾 — Отмена не поймается, т.к. CancelledError — потомок BaseException
👍 — Отмена будет поймана этим except, и если не пере-бросить, задача завершится «успехом», фактически проглотив отмену
🥰 — Отмена превратится в TimeoutError
⚡️ — Исключение поднимется мимо except и всегда завершит задачу как отменённую
Библиотека задач по Python
try:
await do_io()
except Exception:
log("error")
👾 — Отмена не поймается, т.к. CancelledError — потомок BaseException
👍 — Отмена будет поймана этим except, и если не пере-бросить, задача завершится «успехом», фактически проглотив отмену
🥰 — Отмена превратится в TimeoutError
⚡️ — Исключение поднимется мимо except и всегда завершит задачу как отменённую
Библиотека задач по Python
👍5
⏳ Время прокачать алгоритмы с 40-процентной скидкой до конца октября
На собеседовании не просят бездумно написать шаблонное решение. Важно понимать, как работают алгоритмы под капотом.
🔹 В курсе ты научишься:
— искать ошибки с помощью редакционного расстояния;
— работать с балансированными деревьями и графами;
— решать задачи с динамическим программированием;
— и многое другое, что пригодится на собеседованиях.
🤔 Решаешь задачи только в тг каналах? Пройди курс и отправляйся на реальные собеседования!
🔗 Подробнее о курсе
На собеседовании не просят бездумно написать шаблонное решение. Важно понимать, как работают алгоритмы под капотом.
🔹 В курсе ты научишься:
— искать ошибки с помощью редакционного расстояния;
— работать с балансированными деревьями и графами;
— решать задачи с динамическим программированием;
— и многое другое, что пригодится на собеседованиях.
🤔 Решаешь задачи только в тг каналах? Пройди курс и отправляйся на реальные собеседования!
🔗 Подробнее о курсе
Что возвращает a[:] для списка?
👾 — Новую (поверхностную) копию
⚡️ — Ссылку на исходный список
🥰 — Новую глубокую копию
Библиотека задач по Python
👾 — Новую (поверхностную) копию
⚡️ — Ссылку на исходный список
🥰 — Новую глубокую копию
Библиотека задач по Python
👾27⚡1