О чём этот урок
Summary session 11 объединяет темы нескольких последних уроков: измерение времени с помощью модуля time, специализированные контейнеры из collections, неизменяемое множество frozenset, кэширование через functools.lru_cache, работу со словарями, передачу функций как объектов, lambda и основные парадигмы программирования.
Цели
- повторить
time.time(),time.sleep()и простейшее профилирование; - использовать
OrderedDict,popitem()иmove_to_end(); - применять
@lru_cacheдля ускорения повторяющихся вычислений; - отличать
setотfrozensetи использовать хешируемость; - безопасно добавлять, обновлять и удалять элементы словаря;
- передавать функции в другие функции и использовать
lambda; - называть и отличать основные парадигмы программирования.
Разделы урока
📖 Теория
Понятная теория по источнику
🔖 Справочник
Синтаксис, функции и методы
💻 Примеры
Запускаемые примеры Python
⚖️ Старый vs Новый
Учебный стиль и современная практика
📝 Задания
Практика по возрастанию сложности
✅ Решения
Решения с пояснениями
🐛 Ошибки
Типичные ошибки и исправления
🏠 Домашнее задание
Практические задачи источника
🔗 Ресурсы
Документация и полезные ссылки
Что повторить заранее
- Урок 42 — Lambda-функции. Функции высшего порядка
- словари, множества, функции, модули
collectionsиfunctools.