typestar

Decorador de memoización en Python

La memoización cambia memoria por velocidad — estándar para funciones puras costosas.

def memorizar(fn):
    cache = {}

    def envoltura(*args):
        if args not in cache:
            cache[args] = fn(*args)
        return cache[args]

    return envoltura

Cómo funciona

  1. Envuelve una función en un decorador.
  2. Un dict cachea cada resultado, con los argumentos de la llamada como clave.
  3. Repetir la llamada con los mismos argumentos devuelve el valor cacheado al instante.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
9
Caracteres a escribir
135
Tokens
40
Ritmo de tres estrellas
105 tpm

Al ritmo de tres estrellas de 105 tokens por minuto, este intento toma unos 23 segundos.

Escribe este fragmento

Paso 4 de 5 en Decoradores y clausuras; paso 8 de 53 en Python pythónico.

← Anterior Siguiente →