Компоновка функций (pipeline)
Python
Senior
Сбер
01.01.2025
Напишите функцию `compose(*funcs)`, которая принимает несколько функций и возвращает новую функцию, применяющую их по цепочке.
**Пример:**
```python
def double(x):
return x * 2
def inc(x):
return x + 1
f = compose(double, inc) # f(x) = inc(double(x))
```
Ответы
Решение 1
```python
from typing import Callable, Any
def compose(*funcs: Callable[[Any], Any]) -> Callable[[Any], Any]:
def wrapper(x: Any) -> Any:
result = x
for func in funcs:
result = func(result)
return result
return wrapper
```