Funções Lambda em Python

0 – Python
6 – Funcional
6.1 – Funcoes puras
6.2 – Imutabilidade (tuplas, frozenset, namedtuple)
6.3 – Funcoes de alta ordem (map, filter, reduce)
6.4 – Comprehensions (list, dict, set)
6.5 – Geradores (yield, generator expressions)
6.6 – Decorators (@)
6.7 – Closures
6.8 – Funcoes lambda
LEGENDA
Nivel_1
Nivel_2
Nivel_3

Lambda é uma função anônima de única expressão em Python. Ela usa a palavra-chave lambda em vez de def. Primeiramente, lambdas são ideais para operações curtas e simples. Por exemplo, lambda x: x * 2 dobra um número. Além disso, lambdas podem receber múltiplos argumentos. A voz passiva é usada aqui: “a expressão é avaliada e retornada automaticamente”. Quando utilizar funções lambda? Em funções de alta ordem. Também para operações descartáveis que não precisam de nome. Lambda é comum com map, filter e sorted. Evite lambdas complexos que prejudicam a legibilidade. Vamos explorar sintaxe, usos e limitações práticas. Três subtítulos guiarão você pelo mundo das lambdas. Ao final, você usará lambdas de forma elegante e eficiente.

Sintaxe básica e usos simples

Lambda tem a forma lambda args: expressão. Ela não usa return explicitamente na expressão. Pode receber zero, um ou vários argumentos. Quando usar lambdas simples? Em transformações rápidas. Por exemplo, ordenar listas ou mapear valores. A voz passiva é aplicada: “os argumentos são separados por vírgulas”. Exemplo de sintaxe básica:

Lambdas são concisas, mas não substituem funções complexas. Use-as apenas quando a expressão for realmente simples.

Lambda com map, filter e sorted

Lambda brilha em combinação com funções de alta ordem. map aplica lambda a cada elemento da sequência. filter usa lambda para selecionar elementos. sorted usa lambda como chave de ordenação. Quando usar essas combinações? Em pipelines de dados. Elas são mais declarativas que loops tradicionais. A voz passiva é aplicada: “os elementos são processados um a um”. Exemplo prático:

Lambdas tornam essas operações muito mais elegantes. Evite lambdas longos; prefira funções nomeadas nesses casos.

Limitações e boas práticas

Lambda só pode conter uma única expressão. Não pode conter statements como if-else (após Python 3.10). Não pode ter loops, atribuições ou return explícito. Quando evitar lambda? Em lógica com múltiplas linhas. Também quando a expressão fica difícil de ler. A voz passiva é aplicada: “a legibilidade é sacrificada em lambdas longos”. Exemplo de boas e más práticas:

Lambdas são ferramentas para simplicidade, não para tudo. A fórmula da legibilidade de uma lambda: \(L = \frac{1}{\text{número de operações}} \quad \text{(quanto menor, melhor)}\) Use lambda para funções de uma linha sem efeitos colaterais. Prefira funções nomeadas para lógica complexa. Lambdas com map, filter e sorted são ideais. Seu código será mais expressivo e funcional.

Deixe um comentário