Resumen de pequeños puntos de conocimiento del sistema Python (actualización continua ...)

1. El módulo de funciones

import functools
@functools.lru_cache(None)

#Ejemplo oficial 

@cache
def factorial(n):
    return n * factorial(n-1) if n else 1

>>> factorial(10)      # no previously cached result, makes 11 recursive calls
3628800
>>> factorial(5)       # just looks up cached value result
120
>>> factorial(12)      # makes two new recursive calls, the other 10 are cached
479001600

Su función es para ser utilizada como caché, lo que puede ahorrar los resultados de la función que consumen relativamente mucho tiempo, evitando cálculos repetidos pasando los mismos parámetros, y la caché no crecerá indefinidamente y la caché no utilizada se liberará. 

Cuando maxsize se establece en None, la función LRU está deshabilitada y la caché puede crecer indefinidamente.

 

Supongo que te gusta

Origin blog.csdn.net/weixin_37724529/article/details/114578571
Recomendado
Clasificación