Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Funções Lambda | Recursão e Funções Lambda
Tutorial de Funções em Python
Seção 5. Capítulo 4
single

single

bookFunções Lambda

Deslize para mostrar o menu

Funções lambda são funções anônimas, ou seja, não possuem nome. Elas são criadas usando a palavra-chave lambda e são frequentemente utilizadas para definir funções curtas, onde é possível especificar uma função diretamente no local de uso.

A sintaxe básica de uma função lambda é a seguinte:

lambda arguments: expression
  • lambda: palavra-chave que indica o início da definição de uma função lambda;
  • arguments: lista de argumentos que a função recebe;
  • expression: expressão executada quando a função é chamada. O resultado da expressão é retornado como valor da função.

A principal característica das funções lambda é sua sintaxe concisa. Elas são convenientes quando é necessário definir uma função simples sem escrever muito código.

Argumentos únicos e múltiplos

Uma função lambda pode receber um ou mais argumentos:

1234567
# Single argument square = lambda x: x**2 print(square(5)) # 25 # Multiple arguments add = lambda x, y: x + y print(add(3, 5)) # 8
copy

Lógica condicional em funções lambda

É possível usar uma expressão ternária para adicionar lógica condicional dentro de uma lambda:

123
is_even = lambda x: "even" if x % 2 == 0 else "odd" print(is_even(4)) # "even" print(is_even(7)) # "odd"
copy

Uso de lambda com funções embutidas

Um caso de uso comum é combinar funções lambda com funções embutidas como map() e filter():

123456789
prices = [100, 200, 300] # Apply 10% discount to each price discounted = list(map(lambda price: price * 0.9, prices)) print(discounted) # [90.0, 180.0, 270.0] # Keep only prices above 150 expensive = list(filter(lambda price: price > 150, prices)) print(expensive) # [200, 300]
copy

Você também pode usar max() dentro de uma lambda para lidar com casos extremos diretamente na expressão:

123
safe_value = lambda x: max(x, 0) # Returns 0 if x is negative print(safe_value(-5)) # 0 print(safe_value(10)) # 10
copy
lambda
Note
Nota

Funções lambda são mais adequadas para lógicas curtas e de expressão única. Se a função exigir múltiplas linhas ou lógica complexa, uma função regular def é a escolha mais apropriada.

Tarefa

Deslize para começar a programar

Existe uma lista de preços (prices), e uma expressão lambda precisa ser implementada que receba um preço como parâmetro e deduza 13% de imposto dele.

  1. Definir uma expressão lambda utilizando a palavra-chave lambda.
  2. A expressão lambda deve receber um parâmetro (price).
  3. Se o price for negativo, considerar como inválido e retornar 0 utilizando a função max() diretamente dentro da expressão lambda.
  4. A lambda deve primeiro verificar o preço e então deduzir 13% do valor válido.
  5. Utilizar uma list comprehension para aplicar apply_tax a cada elemento em prices.

Solução

Switch to desktopMude para o desktop para praticar no mundo realContinue de onde você está usando uma das opções abaixo
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 5. Capítulo 4
single

single

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

some-alt