Como usar funções lambda em Python
As funções lambda em Python são funções anônimas, ou seja, funções definidas sem um nome específico. Elas são úteis para situações onde precisamos de funções curtas e simples.
Sintaxe de uma função lambda
A sintaxe de uma função lambda é simples:
funcao = lambda x: x * 2
print(funcao(5)) # Saída: 10
A função lambda x: x * 2
recebe um argumento x
e retorna seu dobro.
Usando lambda com múltiplos argumentos
Funções lambda podem ter múltiplos parâmetros:
soma = lambda a, b: a + b
print(soma(3, 7)) # Saída: 10
Funções lambda dentro de outras funções
Podemos utilizar lambda
dentro de funções convencionais:
def multiplicador(n):
return lambda x: x * n
dobro = multiplicador(2)
print(dobro(5)) # Saída: 10
Uso de lambda com funções embutidas
As funções lambda são frequentemente usadas com map()
, filter()
e sorted()
:
numeros = [1, 2, 3, 4, 5]
dobro = list(map(lambda x: x * 2, numeros))
print(dobro) # Saída: [2, 4, 6, 8, 10]
Quando utilizar funções lambda ao invés de funções convencionais?
Funções lambda são úteis para otimizar a escrita de código, eliminando a necessidade de definir funções completas para tarefas simples. No entanto, seu uso deve ser ponderado, pois funções muito complexas escritas como lambda
podem comprometer a legibilidade do código. Saber quando utilizá-las corretamente pode fazer diferença em eficiência e clareza do código.
Algumas aplicações:
- Criação de funções rápidas e anônimas para operações simples.
- Uso em funções de alta ordem como
map()
efilter()
. - Definição de pequenas expressões matemáticas inline.
- Ordenação personalizada de listas com
sorted()
.
Dicas para quem está começando
- Use lambda para funções curtas e simples.
- Evite usar lambda para funções muito complexas, pois pode dificultar a leitura.
- Combine lambda com
map()
,filter()
esorted()
para mais eficiência. - Se a função precisar de múltiplas linhas, prefira
def
ao invés delambda
. - Teste diferentes usos de lambda para entender melhor suas aplicações.
Contribuições de Laura Mendes