Objetivos
Funções Lambda
Funções Lambda são funções que não possuem nome, sendo declaradas e atribuidas à
variáveis. Esse tipo de função pode receber argumentos e seu corpo é composto de uma
expressão de retorno ou comandos.
Funções lambda possuem restrições em relação ao comandos decisão, repetição e try-catch
ou outros que utilizam mais de uma linha em seu corpo. As palavras return e raise
não pode ser utilizadas.
Declarar uma função lambda
Uma função lambda é declara de acordo com a sintaxe mostrada abaixo:
Sintaxe
nome_funcao lambda <argumentos>: <corpo>
Onde
<corpo>: expressão de retorno ou comando
<argumentos>: lista de argumentos separados por (,)
Exemplo 1
#expressão de retorno
funcao_dobro = lambda arg: arg*2
print(funcao_dobro(100))
#usando função nativa print
funcao_dobro = lambda param: print(param);
funcao_dobro(2)
Saída
200
2
No exemplo acima, a declaração de uma função lambda irá retornar o arg*2 sem informar o
comando return. Isso é feito de forma implícita.
As expressões lambda podem utilizar N parâmetros em sua declaração como mostrado abaixo:
Sintaxe
nome_funcao lambda arg1, arg2, argN: <corpo>
Exemplo 2
soma = lambda a, b, c : a + b + c
print(soma(1,2,3))
Saída
6
Podemos utilizar uma expressão lambda em conjunto com a palavra reservada return
para que um determinada função retorne o resultado de uma expressão lambda.
Sintaxe
return lambda <argumentos>: <corpo>
Exemplo 3
#definição do corpo da função
def funcao(a,b,c):
return lambda a,b,c : a + b + c
#criação da função soma
fsoma = funcao(0,0,0)
total = fsoma(1,2,3)
print(total)
Saída
6
Função lambda como parâmetro
Python permite que uma expressão lambda seja passada como argumento para uma função. Para tal,
declararmos uma função desejada com o parâmetro que irá uma função como argumento.
Sintaxe
def nome_funcao(param_funcao_lambda, <parametros_lambda>)
#corpo
Exemplo 4
#funcao que irá receber uma expressão lambda e um argumento.
def funcao(funcao_lambda, num):
return funcao_lambda(num)
#definição da expressão lambda
soma = lambda num : num % 2 == 0
#passando lambda como argumento
print(funcao(soma,2))
Saída
True
Podemos utilizar os comandos if-else no corpo de uma expressão lambda. Expressões lambda permitem o uso de if-else na forma
Sintaxe
retorno_if if condicao else <retorno_else>
#corpo
Exemplo 5
funcao_dobro = lambda param: param*2 if param%2 == 0 else param*3
var = funcao_dobro(2)
print(var)
Saída
True
Histórico de atualizações
- 10/09/2025 - revisão 2 - Ajustes: 'Declarando' reescrito, sintaxes, Ex. 1 e objetivos; Adição: lambda com 'if-else'
- 18/09/2024 - revisão 1 - Correção em links portugol, navegação 'Próximo'; ajustes gramaticais;
- 12/02/2024 - versão inicial
Os cursos oferecidos nesta página são cursos fornecidos por parceiros. Ao comprar um curso clicando
em seu banner, você está ajudando a manter o projeto TutorialDev vivo. Os sites dos cursos parceiros utilizam cookies.