image

Acesse bootcamps ilimitados e +650 cursos pra sempre

60
%OFF
Article image

DS

Douglas Santos10/01/2024 16:24
Compartilhe

Funções Anônimas: A Função Lambda

  • #Python

Em Python, uma função é uma sequência de comandos que realiza uma tarefa específica. É possível passar parâmetros para as funções e elas podem retornar um valor. Essa função possui nome,um corpo e opcionalmente um retorno. Essas funções são definidas pela palavra reservada def.

# Eis um exemplo de função
def imprime():
print("olá")

# forma de usar a função
imprime()

# resultado
olá

Como visto acima as funções são bem úteis e são a base da programação em python, porém para códigos mais simples e que não precisam ser reutilizados essas funções são as: Funções Lambda.

Uma função Lambda não é definida com um nome e um corpo e pode ser expressada em apenas uma linha de código e é definida da seguinte forma: lambda [parâmetro(s)]: expressão

# função lambda
f = lambda x: x ** 2

No código acima foi criada a variável chamada f com a atribuição de pegar uma numero qualquer elevá-lo ao quadrado.

Esse número só vai ser denominado no momento de usar a função lambda.

# Exemplo
f(3)
# saida -> 9

f(10)
# saida -> 100 

A principio uma função anônima pode parecer simples se sem uso, já que era só fazer uma multiplicação simples e estava tudo certo, porém o poder da função lambda vem quando usada com outras funções. Veja o exemplo abaixo.

Dado uma Lista de números imprima todos os números elevados ao quadrado.

lista = [2,3,4,5,6,7,8]
lista_quadrado = map(f, lista)

# Exibindo o resultado
list(lista_quadrado)
# saida
[4, 9, 16, 25, 36, 49, 64]

O código acima usa uma outra função built-in do python chamada 'map', a qual pode aplicar o resultado da função lambda em todos os números da lista, ou seja, a função map percorre todos os itens da lista aplicando a função lambda f (f = lambda x: x ** 2).

O resultado está sendo armazenado na variável "lista_quadrado" e listado na tela no comando list(lista_quadrado), isso porque o resultado tem que ser transformado em lista antes de ser impresso na tela.

Uma Função Lambda também pode ser usada para fazer uma mesma função retornar valores diferentes como abaixo:

def minha_funcao(n):
return lambda a : a * n

dobro = minha_funcao(2)
triplo = minha_funcao(3)

print(dobro(11))
print(triplo(11))

# saida
22
33

Nesse breve post foi mostrado apenas uma pequena parte do poder das funções anônimas.

Você pode ver mais formas de usar nesse link: https://realpython.com/python-lambda/

Link para documentação do python: lambda expression

Compartilhe
Comentários (0)