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

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

    Ilustração minimalista do logotipo da linguagem de programação Python ao lado do texto REGEX em fundo neutro
    Fundamentos
    Foto do Leandro Hirt

    Regex Python: Tudo Sobre Expressões Regulares

    Se você já tentou encontrar padrões específicos em textos, validar formatos de email ou extrair informações de documentos, provavelmente já

    Ler mais

    Tempo de leitura: 12 minutos
    05/01/2026
    Logo do Python, texto TXT e ícone de bloco de notas representando arquivos de texto
    Fundamentos
    Foto do Leandro Hirt

    Como Ler Arquivos TXT no Python

    Trabalhar com arquivos de texto é uma das tarefas mais comuns na programação. Aprender como ler arquivo TXT no Python

    Ler mais

    Tempo de leitura: 14 minutos
    24/12/2025
    Comparação visual entre Python 2 e Python 3 com ícones minimalistas
    Fundamentos
    Foto do Leandro Hirt

    Python 2 vs Python 3: Principais Diferenças

    Se você está começando a estudar Python ou já trabalha com a linguagem, provavelmente já se deparou com uma dúvida

    Ler mais

    Tempo de leitura: 20 minutos
    22/12/2025
    Pessoa pensando com um monitor desfocado ao fundo
    Fundamentos
    Foto do Leandro Hirt

    Tipos de Dados em Python: int, float, str, list e dict

    Aprenda tudo sobre os principais tipos de dados em Python: int, float, str, list e dict. Guia completo com exemplos

    Ler mais

    Tempo de leitura: 14 minutos
    21/12/2025
    Pessoa usando tablet com caneta digital para planejar tarefas em checklist, representando organização, planejamento e produtividade digital.
    Fundamentos
    Foto do Leandro Hirt

    Como Ordenar Listas no Python (Sort vs Sorted)

    Você já ficou confuso sobre quando usar sort() ou sorted() para organizar suas listas em Python? Não está sozinho. Esses

    Ler mais

    Tempo de leitura: 12 minutos
    20/12/2025
    Logo do Python com uma faca, simbolizando fatiamento
    Fundamentos
    Foto do Leandro Hirt

    Fatiamento em Python: Tudo Sobre Slicing

    O fatiamento (ou slicing) é uma técnica fundamental em Python que permite extrair partes específicas de sequências como listas, strings

    Ler mais

    Tempo de leitura: 11 minutos
    13/12/2025