Fala, meus consagrados! Beleza?
As funções lambda, também conhecidas como funções anônimas, permitem que se crie pequenas funções de forma rápida, sem a necessidade de nomeá-las usando a estrutura convencional com def. Seu principal objetivo é tornar o código mais conciso e legível quando se trata de operações simples.
Funções lambda são funções sem nome que podem receber qualquer número de parâmetros, mas são limitadas a uma única expressão. O valor retornado por uma função lambda é o resultado dessa expressão, automaticamente.
A sintaxe básica de uma função lambda é:
lambda parâmetro1, parâmetro2, ...: expressão
Ou seja, usamos a palavra-chave lambda, seguida de:
- Uma lista de um ou mais parâmetros;
- Dois pontos (:); e
- A expressão que será que use esses parâmetros e que será avaliada.
Diferente de funções criadas com def, as funções lambda não usam a palavra return. A própria expressão final é o valor de retorno.
Exemplo 1:
x = lambda a: a +
10 print(x(5))
Resultado da execução:
15
Neste exemplo, a função lambda é atribuída à variável x. Ela recebe um parâmetro a e retorna a + 10. Ao chamarmos x(5), o valor retornado será 15, pois 5 + 10 = 15.
Exemplo 2:
y = lambda a, b, c: a + b * c
print(y(5, 3, 10))
Resultado da execução:
35
A variável y contém uma função lambda que recebe três parâmetros: a, b e c. A expressão da função é a + b * c, que segue a precedência de operadores do Python. Ao passarmos y(5, 3, 10), a expressão é avaliada como 5 + 3 * 10, resultando em 35.
As funções lambda são úteis especialmente quando você precisa de uma função simples e rápida, geralmente passada como argumento para outras funções, como map(), filter() ou sorted(). Elas evitam a necessidade de criar funções completas apenas para tarefas pontuais.
Exemplo:
lista = [1, 2, 3, 4, 5]
quadrados = list(map(lambda x: x ** 2, lista))
print(quadrados)
Resultado da execução:
[1, 4, 9, 16, 25]
Apesar de práticas, funções lambda têm limitações:
- Só podem conter uma única expressão;
- Não permitem múltiplas instruções ou comandos como if completo, loops ou atribuições; e
- Devem ser usadas com moderação para manter a legibilidade do código.
Funções lambda são ideais para situações onde uma função simples é necessária, sem a complexidade de definições completas. Elas oferecem uma maneira elegante e funcional de escrever código mais enxuto e direto. No entanto, para funções mais complexas, a abordagem tradicional com def é sempre mais apropriada.
Espero que tenham gostado!
Forte abraço e até a próxima jornada!
_________________________
Professor Rogerão Araújo
Quer ficar por dentro dos concursos públicos abertos e previstos pelo Brasil? Clique nos links abaixo:
Receba gratuitamente no seu celular as principais notícias do mundo dos concursos. Clique no link abaixo e inscreva-se:
Participe da conversa