Українська
Підсумки
Висновки
Ітератор відокремлює отримання наступного елемента від його обробки. Генератор реалізує цей контракт через yield, а itertools поєднує готові схеми обходу. Лямбда доречна для короткого локального правила; декоратор – для спільної поведінки навколо виклику. В обох випадках читабельність і явно визначений контракт важливіші за скорочення кількості рядків.
Питання для самоперевірки
- Чим ітерований об’єкт відрізняється від ітератора?
- Хто обробляє
StopIterationу цикліfor? - Коли починає виконуватися тіло генераторної функції?
- Який стан зберігається після
yield? - Що роблять
yield from,sendіclose? - Чому вдруге обчислена сума генератора може дорівнювати нулю?
- Чим
takewhileвідрізняється відfilter? - Коли перед
groupbyпотрібне сортування, а коли шкідливе? - Як
batchedобробляє неповний останній пакет? - Що насправді вимірює
sys.getsizeof? - Чому замикання в циклі може бачити останнє значення?
- Як вибрати між
map, включенням іreduce? - Коли застосовується декоратор і коли виконується обгортка?
- Навіщо потрібні
wrapsіParamSpec? - Як порядок декораторів змінює повтори й вимірювання часу?
Корисні посилання
- Функціональні засоби: https://docs.python.org/3.14/howto/functional.html.
- Ітератори: https://docs.python.org/3.14/library/itertools.html.
- Декоратори й кеш: https://docs.python.org/3.14/library/functools.html.
- Операції як функції: https://docs.python.org/3.14/library/operator.html.