Avancé
🧠 Fondamentaux
30 XP
0 personnes ont réussi
Decorateur de memoisation
La mémoïsation accélère drastiquement les fonctions coûteuses en gardant en cache les résultats déjà calculés. C'est le principe de functools.lru_cache en Python, utilisé en production pour les appels API, les calculs récursifs (Fibonacci), ou les requêtes coûteuses.
Le principe : un dictionnaire cache utilise les arguments comme clé. Si les mêmes arguments reviennent, on retourne le résultat du cache sans recalculer.
Écris un décorateur memoize qui met en cache les résultats d'une fonction. Le cache doit être accessible via l'attribut cache sur la fonction décorée.
Exemple : @memoize def carre(x): return x * x carre(4) calcule et met en cache carre(4) retourne depuis le cache carre.cache donne {(4,): 16}
Tests (2/4)
Résultat correct
@memoize
def carre(x):
return x * x
assert carre(4) == 16
assert carre(5) == 25