Как можно использовать функции высшего порядка (функции, возвращающие другие функции) в Python?
Это мой пример JavaScript, концепцию программирования которого я хотел бы использовать и в Python. Допустим, например, что я хотел бы обернуть строку в элемент HTML. В JavaScript это будет выглядеть так:
var wrapInElement = function(ele) {
return function(inp) {
return "<" + ele + ">" + inp + "</" + ele + ">";
};
};
И тогда я бы использовал это так:
var names = ["Mike", "Tony", "John"];
names.map(wrapInElement("p"));
Как это может выглядеть в Python? Есть ли способ написать функции, которые возвращают настраиваемые функции, как в примере выше? Можно также написать класс на Python, который выполняет эту задачу, но не будет ли это слишком много для такой простой задачи?