Можешь объяснить назначение и функциональность `functools.reduce()` и привести пример того, как она работает с итерируемым объектом? — ДейлиПреп