typestar

Funciones como valores en Python

Las funciones son objetos: pásalas, guárdalas, devuélvelas.

def aplicar_dos_veces(fn, valor):
    return fn(fn(valor))


def sumar_cinco(n):
    return n + 5


resultado = aplicar_dos_veces(sumar_cinco, 10)

celsius = [0, 20, 37, 100]
fahrenheit = list(map(lambda c: c * 9 / 5 + 32, celsius))
tibios = list(filter(lambda c: c > 15, celsius))

operaciones = {"doble": lambda n: n * 2, "cuadrado": lambda n: n * n}
respuesta = operaciones["cuadrado"](12)

Cómo funciona

  1. aplicar_dos_veces recibe una función y la llama dos veces.
  2. map y filter transforman listas con lambdas.
  3. Un dict de lambdas despacha operaciones por nombre.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
16
Caracteres a escribir
384
Tokens
117
Ritmo de tres estrellas
95 tpm

Al ritmo de tres estrellas de 95 tokens por minuto, este intento toma unos 74 segundos.

Escribe este fragmento

Paso 4 de 6 en Funciones; paso 36 de 72 en Fundamentos del lenguaje.

← Anterior Siguiente →