A programação funcional vem sendo muito utilizada ultimamente em várias linguagens de programação para resolver problemas variados.
Com Python não é diferente, apesar de ser um linguagem de programação imperativa e implementação de multi paradigma, o Python não é uma linguagem funcional.
Por ser uma linguagem multi paradigma, fica muito fácil a implementação de uma programação funcional utilizando Python.
Inclusive, com Python podemos fazer um mix de paradigmas.
Funções utilizando Lambda.
Quando definimos uma função utilizando lambda podemos ter vários argumentos como parâmetros, mas somente uma expressão.
Sintaxe: lambda arg1, arg2, ...argN : expression utilizando os argumentos
>>> f = lambda x, y, z: x + y + z
>>> f(1, 10, 100)
>>> 111
A mesma função acima em um método sem lambda:
>>> def f(x, y, z): return x + y + z
>>> f(1, 10, 100)
>>> 111

Utilizar Lambda fica mais interessante quando utilizamos ela dentro de outro método, observe o poder dessa capacidade:

Utilizando a função Map.
A função map() tem a capacidade de transformar um objeto em outro, por exemplo, transformar uma entrada do tipo Integer em String.
Abaixo um exemplo de uma transformação de uma lista para outra lista somando 10 a cada elemento da lista origem:

Utilizando a função Filter.
A função Filter() tem a capacidade de criar uma nova lista filtrando os elementos.
Abaixo um exemplo, criando uma nova lista com números pares:

Utilizando a função Reduce.
A função Reduce() tem a capacidade de reduzir os argumentos de entrada em um único valor.
Abaixo um exemplo, utilizando a função reduce() para somar os valores:

Conclusão.
Podemos nos beneficiar com a programação funcional, desde reduzir linhas de código até otimizar a performance da aplicação. Além de criar funções que recebem outras funções como parâmetro, sendo possível somente na programação funcional.