Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> python

Dominando Funções Lambda em Python: Exemplos Práticos e Boas Práticas

Dominando Funções Lambda em Python: Exemplos Práticos e Boas Práticas

Funções lambda, frequentemente chamadas de funções anônimas, permitem escrever pequenas rotinas descartáveis em uma única linha. Elas são úteis em código de estilo funcional, especialmente quando usadas com map, filter e reduce.

O que é uma Função Lambda?

Uma lambda é uma função definida com a palavra-chave lambda em vez de def. Ela aceita zero ou mais parâmetros e retorna o valor de uma única expressão. Como o corpo é uma expressão, uma lambda não pode conter instruções ou múltiplas linhas.

Toda lambda tem três partes essenciais:

Por exemplo, lambda x, y: x + y soma dois números. Embora anônima, a lambda pode ser atribuída a uma variável, passada para outra função ou chamada imediatamente.

Como Escrever uma Lambda

Sintaxe formal:

lambda p1, p2, ... : expressao

Note a ausência de parênteses em torno dos parâmetros. A expressão pode usar qualquer operação válida do Python.

Exemplo 1: Somador Simples

somador = lambda x, y: x + y
print(somador(1, 2))  # → 3

Exemplo 2: Inspecionando um Objeto Lambda

string = 'algum tipo de lambda inútil'
print(lambda string: print(string))  # → <function <lambda> at 0x...>

Aqui, a lambda nunca é chamada; o print exibe o objeto função que a lambda retorna.

Exemplo 3: Lambda Invocada Imediatamente (IIFE)

(lambda x: print(x))('IIFE em ação')  # → IIFE em ação

Envolvendo a definição em parênteses e adicionando parênteses após ela, chama a lambda imediatamente.

Exemplo 4: Lambdas vs. Funções Regulares

# Função regular
def impressora(arg):
    return print(arg)

# Lambda que chama a função
guru(lambda: impressora('Chamada lambda'))  # → Chamada lambda

Ambos os trechos produzem a mesma saída, mas a versão lambda é mais concisa quando você só precisa de uma chamada única.

Usando Lambdas com Funções Nativas

Lambdas brilham quando passadas como callbacks para funções de ordem superior. Abaixo estão padrões comuns.

Expressão de Função Invocada Imediatamente (IIFE) em Python

(lambda x: x + x)(2)  # → 4

Filter

A função filter mantém elementos que satisfazem um predicado.

sequencias = [10, 2, 8, 7, 5, 4, 3, 11, 0, 1]
filtrados = filter(lambda x: x > 4, sequencias)
print(list(filtrados))  # → [10, 8, 7, 5, 11]

Map

A função map transforma cada elemento.

sequencias = [10, 2, 8, 7, 5, 4, 3, 11, 0, 1]
quadrados = map(lambda x: x * x, sequencias)
print(list(quadrados))  # → [100, 4, 64, 49, 25, 16, 9, 121, 0, 1]

Reduce

Use reduce para acumular um único valor a partir de uma sequência.

from functools import reduce
sequencias = [1, 2, 3, 4, 5]
produto = reduce(lambda x, y: x * y, sequencias)
print(produto)  # → 120

Quando Usar (e Evitar) Lambdas

Lambdas são ideais para operações concisas, de uso único, que cabem em uma única expressão. São comuns em construções de programação funcional como map e filter.

No entanto, evite lambdas excessivamente complexas em código de produção. One-liners longos e ilegíveis podem prejudicar a manutenibilidade. Nesses casos, uma função nomeada com uma docstring clara é preferível.

Lambdas vs. Funções Regulares

CaracterísticaLambdaFunção Regular
Sintaxelambda x: x + xdef somar(x): return x + x
CorpoÚnica expressão apenasMúltiplas instruções permitidas
NomeaçãoAnônima (sem identificador)Deve ter um nome
RetornoImplícito da expressãoExplícito com return
Caso de usoLógica curta, descartávelLógica reutilizável, complexa

Conclusão

python

  1. Dominando Argumentos de Funções em Python: Parâmetros Posicionais, Nomeados e Padrão
  2. Funções Lambda em Python: Guia Prático para Funções Anônimas
  3. Closures em Python Explicados: Como Funções Aninhadas Capturam Variáveis
  4. Sobrecarga de Operadores em C++: Guia Prático com Exemplos de Código
  5. Funções em C++ Explicadas com Exemplos Práticos de Código
  6. Função Print() do Python: Guia Prático com Exemplos
  7. Dominando o Método strip() do Python: Guia Completo e Exemplos Práticos
  8. Domine o str.count() do Python: Como Contar Caracteres e Substrings com Exemplos
  9. Domine Strings format() em Python com Exemplos Claros
  10. Domine o Método String.find() do Python: Sintaxe, Exemplos e Alternativas