Pular para o conteúdo principal

Tutorial de lambda em Python

Aprenda uma maneira mais rápida de escrever funções em tempo real com as funções lambda.
· 3 min leer

Explore com IA

Você pode escrever suas próprias funções Python usando a palavra-chave def, cabeçalhos de função, docstrings e corpos de função. No entanto, há uma maneira mais rápida de escrever funções em tempo real, e elas são chamadas de funções lambda porque você usa a palavra-chave lambda.

Algumas definições de função são simples o suficiente para que possam ser convertidas em uma função lambda. Ao fazer isso, você escreve menos linhas de código, o que é muito bom e será útil, especialmente quando estiver escrevendo e mantendo programas grandes.

lambda Função

Aqui reescrevemos nossa função raise_to_power como uma função lambda. Após a palavra-chave lambda, especificamos os nomes dos argumentos; em seguida, usamos dois pontos seguidos da expressão que especifica o que desejamos que a função retorne.

raise_to_power = lambda x, y: x ** y

raise_to_power(2, 3)
8

Conforme mencionado, as funções lambda permitem que você escreva funções de forma rápida e suja, portanto, não recomendamos que você as use o tempo todo, mas há situações em que elas são úteis, como no exemplo abaixo.

map() e lambda Função

A função map recebe dois argumentos, uma função e uma sequência, como uma lista, e aplica a função em todos os elementos da sequência. Podemos passar a função lambda para o map sem sequer nomeá-las e, nesse caso, nos referimos a elas como funções anônimas.

Neste exemplo, usamos map() na função lambda, que eleva todos os elementos da lista ao quadrado, e armazenamos o resultado em square_all.

nums = [48, 6, 9, 21, 1]

square_all = map(lambda num: num ** 2, nums)

print(square_all)
<map object at 0x103e065c0>

A impressão de square_all revela que se trata de um objeto map, portanto, para ver o que ele retorna, usamos list para transformá-lo em uma lista e imprimir o resultado.

print(list(square_all))
[2304, 36, 81, 441, 1]

Exemplo interativo de redação de um lambda Função

A função abaixo echo_word recebe 2 parâmetros: um valor de cadeia de caracteres, word1, e um valor inteiro echo. Ele retorna uma cadeia de caracteres que é uma concatenação de echo cópias de word1.

Você converterá a função simples acima em uma função lambda.

def echo_word(word1, echo):
    """Concatenate echo copies of word1."""
    words = word1 * echo
    return words

No exemplo a seguir, você fará isso:

  • Defina uma função lambda echo_word usando as variáveis word1 e echo. Replicar o que a definição original da função para echo_word() faz acima.
  • Chame echo_word() com o argumento de cadeia de caracteres 'hey' e o valor 5, nessa ordem. Atribua a chamada para result. Por fim, imprima a variável result.
# Define echo_word as a lambda function: echo_word
echo_word = (lambda word1, echo: word1 * echo)

# Call echo_word: result
result = echo_word('hey', 5)

# Print result
print(result)

Quando executamos o código acima, ele produz o seguinte resultado:

heyheyheyheyhey

Experimente você mesmo.

Para saber mais sobre as funções Lambda, assista a este vídeo do nosso curso Python Data Science Toolbox (Parte 1).

Este conteúdo foi extraído do curso Python Data Science Toolbox (Parte 1) do DataCamp, ministrado por Hugo Bowne-Anderson.

Confira o tutorial de funções Python do DataCamp.

Temas

Relacionado

Tutorial

Funções em Python: como chamar e escrever funções