10. Funções Lambda
É possível criar funções simples, sem nome, chamadas de funções lambda. Observemos um exemplo:
# Programa 8.16 - Função lambda que recebe um valor e retorna o dobro dele a = lambda x: x * 2 O print(a(3)) 0
Em O, definimos uma função lambda que recebe um parâmetro, x no caso, e que retorna o dobro desse número. Tudo foi feito em uma linha somente. A função é criada e atribuída à variável a. Em 0. usamos a como uma função normal.
Funções lambda podem receber mais de um parâmetro também, como apresenta o Programa 8.17.
# Programa 8.17 - Função lambda que recebe mais de um parâmetro aumento = lambda a, b: (a * b / 100) aumento(100, 5)
Funções lambda são usadas quando o código da função é bastante simples ou utilizado poucas vezes. Algumas funções da biblioteca padrão do Python também possibilitam que funções sejam passadas como parâmetro, como o caso do método sort de listas, que recebe um parâmetro key que recebe o elemento e tem que retornar a chave a utilizar para a ordenação.
»> L = ["A", "b", "C", "d", "E"] »> L.sort() »> L ['A', ’C, 'E', 'b', 'd'] »> L.sort(key=lanbda k: k.lower()) »> L ['A', 'b', ’C, 'd', 'E']