O Que é Função Lambda no Python (Com Exemplos)

Atualizado em: 13/11/2025
Tempo de leitura: 3 minutos
Logo lambda usado no Half-Life

As funções lambda são uma ferramenta poderosa e elegante do Python. Elas permitem criar pequenas funções de forma rápida e limpa. Se você está começando a programar ou quer melhorar suas habilidades, este artigo vai ajudar você a dominar esse conceito fundamental.

Imagine poder escrever uma função inteira em apenas uma linha. Parece mágica, mas é exatamente isso que as funções lambda fazem. Elas tornam seu código mais conciso e expressivo, especialmente quando você precisa de uma função simples para usar apenas uma vez.

O Que São Funções Lambda?

Uma função lambda é uma forma compacta de escrever funções em Python. Também conhecidas como funções anônimas, elas não precisam de um nome definido. Você pode criá-las e usá-las no mesmo momento, sem cerimônia.

O vídeo do canal Código Fonte TV explica melhor isso abaixo:

YouTube player

Pense nas funções lambda como pequenos assistentes temporários. Você os chama quando precisa, eles fazem o trabalho e depois desaparecem. São perfeitas para tarefas simples que não justificam criar uma função completa.

A sintaxe básica é surpreendentemente simples. Você escreve a palavra-chave lambda, seguida dos parâmetros, dois pontos e a expressão que será retornada. Tudo isso em uma única linha limpa e direta.

Diferença Entre Funções Normais e Lambda

As funções tradicionais em Python usam a palavra-chave def. Elas têm um nome, podem ter múltiplas linhas e usar declarações como return. São ideais para lógica complexa e reutilização frequente.

As funções lambda, por outro lado, são minimalistas. Elas podem conter apenas uma expressão e retornam automaticamente o resultado. Não podem incluir declarações como print, import ou raise.

Vamos ver um exemplo prático dessa diferença:

Python

# Função tradicional
def somar(x, y):
    return x + y

# Função lambda equivalente
somar_lambda = lambda x, y: x + y

print("Soma tradicional:", somar(4, 5))
print("Soma lambda:", somar_lambda(4, 5))
Pronto para executar

Ambas fazem a mesma coisa, mas a versão lambda é muito mais concisa. A escolha entre uma e outra depende do contexto e da complexidade da tarefa.

O vídeo abaixo do canal Hashtag Programação explica como usar funções lambda no Python de forma prática:

YouTube player

Sintaxe e Estrutura Básica

A sintaxe das funções lambda segue um padrão consistente e previsível. Sempre começa com a palavra-chave lambda, seguida pelos argumentos e uma expressão.

A estrutura geral é: lambda argumentos: expressão

Os argumentos funcionam como em qualquer função. Você pode ter zero, um ou vários argumentos. A expressão é o que a função calcula e retorna automaticamente.

Exemplos de Sintaxe Variada

Vamos explorar diferentes formas de usar a sintaxe lambda:

Python

# Sem argumentos
cumprimento = lambda: "Olá, mundo!"

# Um argumento
quadrado = lambda x: x ** 2

# Dois argumentos
multiplicar = lambda x, y: x * y

# Múltiplos argumentos
media = lambda a, b, c: (a + b + c) / 3

# Exemplos de uso:
print(cumprimento())  # Saída: Olá, mundo!
print(quadrado(5))    # Saída: 25
print(multiplicar(3, 4))  # Saída: 12
print(media(10, 20, 30))  # Saída: 20.0
Pronto para executar

Note como cada exemplo mantém a simplicidade. A expressão após os dois pontos é sempre única e direta. Isso é uma limitação intencional que mantém as lambdas focadas e legíveis.

Quando Usar Funções Lambda

As funções lambda brilham em situações específicas. Elas são ideais quando você precisa de uma função simples por um curto período. Especialmente úteis como argumentos para outras funções.

Um cenário comum é com funções de alta ordem como map(), filter() e sort(). Estas funções esperam receber outra função como argumento. Uma lambda pode ser perfeita aqui.

Casos de Uso Ideais

Ordenação personalizada é um exemplo clássico. Imagine que você tem uma lista de tuplas representando pessoas e suas idades:

Python

pessoas = [("Ana", 25), ("Bruno", 30), ("Carlos", 20)]

# Ordenar por idade usando lambda
pessoas_ordenadas = sorted(pessoas, key=lambda x: x[1])
print(pessoas_ordenadas)
Pronto para executar

Filtragem de dados também se beneficia enormemente das lambdas:

Python

numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# Filtrar apenas números pares
pares = list(filter(lambda x: x % 2 == 0, numeros))
print(pares)
Pronto para executar

Transformação de dados com map() fica elegante com lambdas:

Python

celsius = [0, 20, 30, 40]

# Converter para Fahrenheit
fahrenheit = list(map(lambda c: (c * 9/5) + 32, celsius))
print(fahrenheit) 
Pronto para executar

Conclusão e Próximos Passos

As funções lambda em Python são ferramentas valiosas quando usadas corretamente. Elas tornam o código mais expressivo e conciso para operações simples. Dominar seu uso adequado diferencia programadores iniciantes de desenvolvedores experientes.

Lembre-se das regras principais: mantenha lambdas simples, use-as para operações temporárias e prefira funções nomeadas para lógica complexa. A prática constante desenvolverá sua intuição sobre quando cada abordagem é mais apropriada.

Perguntas Frequentes (FAQ)

1. O que é uma função lambda em Python?
É uma função pequena escrita em uma única linha usando a palavra chave lambda.

2. Para que serve uma função lambda?
Serve para criar funções rápidas sem precisar definir uma função completa com def.

3. Lambda é mais rápido que funções normais?
Não. A diferença de desempenho é mínima e não deve influenciar a escolha.

4. Posso usar lambda em qualquer lugar?
Sim, mas é ideal usar em casos simples para manter o código claro.

5. Funções lambda podem ter vários comandos?
Não. Lambdas aceitam apenas uma expressão.

6. Posso nomear uma função lambda?
Sim, mas não é recomendado. É melhor usar def quando for nomear.

7. Onde lambda é mais usada na prática?
Em funções como map, filter, sorted e para operações rápidas.

8. Lambda pode ter argumentos padrão?
Sim. Você pode definir valores padrão como faria em uma função comum.

9. Lambda pode acessar variáveis externas?
Sim. Ela consegue acessar variáveis do escopo onde foi criada.

10. É bom usar lambda em projetos grandes?
Sim, mas com moderação. Evite quando o código deixar de ser claro.

11. Lambda aceita argumentos ilimitados?
Aceita vários argumentos, mas continue usando apenas uma expressão.

12. Posso retornar listas ou dicionários em uma lambda?
Sim. Qualquer expressão válida pode ser retornada.

Compartilhe:

Facebook
WhatsApp
Twitter
LinkedIn

Conteúdo do artigo

    Artigos relacionados

    Fundamentos
    Foto do Leandro Hirt

    Como executar comandos do terminal com Python em 2 minutos

    Aprender a interagir com o sistema operacional é um dos grandes marcos na jornada de quem está decidindo aprender Python.

    Ler mais

    Tempo de leitura: 9 minutos
    25/02/2026
    Fundamentos
    Foto do Leandro Hirt

    Descubra como criar geradores eficientes com yield no Python

    Você já sentiu que seu computador travou ao tentar processar uma lista gigantesca de dados? Isso acontece porque, por padrão,

    Ler mais

    Tempo de leitura: 9 minutos
    25/02/2026
    Fundamentos
    Foto do Leandro Hirt

    Transforme seu script Python em .exe em 5 minutos

    Você criou um script incrível, automatizou tarefas repetitivas ou desenvolveu uma ferramenta útil, mas agora surge o problema: como compartilhar

    Ler mais

    Tempo de leitura: 10 minutos
    24/02/2026
    Fundamentos
    Foto do Leandro Hirt

    Como gerar e editar planilhas Excel com Python em minutos

    Gerar e editar planilhas Excel com Python em minutos é uma das habilidades mais valiosas para quem busca aumentar a

    Ler mais

    Tempo de leitura: 12 minutos
    23/02/2026
    Fundamentos
    Foto do Leandro Hirt

    Como descompactar arquivos .zip em Python sem erro

    Aprender como descompactar arquivos .zip em Python sem erro é uma das habilidades mais práticas para quem está começando no

    Ler mais

    Tempo de leitura: 10 minutos
    22/02/2026
    Fundamentos
    Foto do Leandro Hirt

    Como criar e usar dataclasses em Python facilmente

    No vasto ecossistema da programação, gerenciar dados em classes pode, muitas vezes, parecer uma tarefa repetitiva e cansativa. Se você

    Ler mais

    Tempo de leitura: 9 minutos
    18/02/2026