conjunction
, есть, допустим, набор первичных функций - a(...), b(...) и c(...), ну запихните им в докстринг "a", "b", "c", а в conjunction
присваивайе докстрингу конкатенцию. И в отладке будет что почитать. Да и для нескольких разных фабрик придумаете. return functools.reduce(lambda total_r...
не просто функцию, а некий объект замыкания. К скоупу утянутых с собой переменных можно как-то добраться руками (кажется, атрибут __closure__), и, конечно, к ним сохраняется доступ из возвращенной функции. Вот всё это хзяйство - не код. Надо хешировать обычные функции:
.....
А также производные,
полученные с помощью
import functools
def conjunction(*funcs):
def conjunct(*args, **kwargs):
return functools.reduce(lambda total_r