Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> python

Dominando las funciones lambda en Python: ejemplos prácticos y mejores prácticas

Dominando las funciones lambda en Python: ejemplos prácticos y mejores prácticas

Las funciones lambda, a menudo llamadas funciones anónimas, permiten escribir pequeñas rutinas desechables en una sola línea. Son útiles en código de estilo funcional, especialmente cuando se usan con map, filter y reduce.

¿Qué es una función lambda?

Una lambda es una función definida con la palabra clave lambda en lugar de def. Acepta cero o más parámetros y devuelve el valor de una única expresión. Como el cuerpo es una expresión, una lambda no puede contener sentencias ni múltiples líneas.

Toda lambda tiene tres partes esenciales:

Por ejemplo, lambda x, y: x + y suma dos números. Aunque anónima, la lambda puede asignarse a una variable, pasarse a otra función o llamarse inmediatamente.

Cómo escribir una lambda

Sintaxis formal:

lambda p1, p2, ... : expresion

Observa la ausencia de paréntesis alrededor de los parámetros. La expresión puede usar cualquier operación válida de Python.

Ejemplo 1: Sumador simple

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

Ejemplo 2: Inspección de un objeto lambda

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

Aquí, la lambda nunca se llama; el print muestra el objeto función que la lambda devuelve.

Ejemplo 3: Lambda invocada inmediatamente (IIFE)

(lambda x: print(x))('IIFE en acción')  # → IIFE en acción

Envolver la definición entre paréntesis y añadir paréntesis después llama a la lambda inmediatamente.

Ejemplo 4: Lambdas vs. funciones regulares

# Función regular
def impresor(arg):
    return print(arg)

# Lambda que llama a la función
guru(lambda: impresor('Llamada lambda'))  # → Llamada lambda

Ambos fragmentos producen la misma salida, pero la versión lambda es más concisa cuando solo necesitas una llamada puntual.

Uso de lambdas con funciones integradas

Las lambdas brillan cuando se pasan como callbacks a funciones de orden superior. A continuación, patrones comunes.

Expresión de función invocada inmediatamente (IIFE) en Python

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

Filter

La función filter conserva los elementos que satisfacen un predicado.

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

Map

La función map transforma cada elemento.

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

Reduce

Usa reduce para acumular un único valor a partir de una secuencia.

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

Cuándo usar (y evitar) lambdas

Las lambdas son ideales para operaciones concisas y puntuales que caben en una sola expresión. Son comunes en construcciones de programación funcional como map y filter.

Sin embargo, evita lambdas demasiado complejas en código de producción. Las one-liners largas e ilegibles pueden dificultar el mantenimiento. En esos casos, una función nombrada con una docstring clara es preferible.

Lambdas vs. funciones regulares

CaracterísticaLambdaFunción regular
Sintaxislambda x: x + xdef sumar(x): return x + x
CuerpoSolo una expresiónMúltiples sentencias permitidas
NombradoAnónima (sin identificador)Debe tener un nombre
RetornoImplícito desde la expresiónExplícito con return
Caso de usoLógica corta y desechableLógica reutilizable y compleja

Conclusión

python

  1. Sobrecarga de operadores en C++: Guía práctica con ejemplos de código
  2. Funciones en C++ Explicadas con Ejemplos de Código Prácticos
  3. Dominando argumentos de funciones en Python: Posicionales, por palabra clave y por defecto
  4. Funciones lambda en Python: Guía práctica de funciones anónimas
  5. Explicación de Closures en Python: Cómo las Funciones Anidadas Capturan Variables
  6. Función print() en Python: Guía Práctica con Ejemplos
  7. Domine el Método strip() de Python: Guía Completa y Ejemplos Prácticos
  8. Domine str.count() en Python: Cómo Contar Caracteres y Subcadenas con Ejemplos
  9. Domine el Formateo de Strings en Python con format(): Ejemplos Claros
  10. Domine el Método String.find() en Python: Sintaxis, Ejemplos y Alternativas
  11. Función abs() en Python: calcular valores absolutos para números y complejos