PROGRAMMAZIONE PYTHON
L’articolo discute la memorizzazione utilizzando la libreria standard Python. Il decoratore functools.lru_cache lo rende così semplice!
Sappiamo tutti che Python può essere lento:
Ciò che di solito richiede più tempo in Python è chiamare funzioni e metodi di classe che eseguono processi costosi. Immagina per un secondo di dover eseguire tale funzione due volte per gli stessi argomenti; ci vorrà il doppio del tempo anche se entrambe le chiamate portano allo stesso output. È possibile semplicemente ricordare questo output e utilizzarlo ancora una volta ogni volta che è necessario?
Si, puoi! È chiamato memorizzazioneed è un termine comune nella programmazione. Potresti implementare le tue tecniche di memorizzazione, ma la verità è che non è necessario. Python ti offre un potente strumento di memorizzazione e lo fa nella libreria standard: the functools.lru_cache
decoratore.
Sebbene spesso molto efficiente, la memorizzazione viene spesso omessa nei libri di testo Python, anche quelli che descrivono la profilazione e il risparmio di memoria durante la codifica. I libri che menzionano la memorizzazione in Python includono Pitone serio di Julien Danjou, Python fluente, 2a ed. di Luciano Ramalho, Programmazione funzionale Python, 3a ed. di Steven F.Lott.
Questo articolo mostra due cose: quanto sia semplice usare la memoizzazione nella libreria standard Python (quindi, usando functools.lru_cache
) e quanto potente può essere questa tecnica. Non è solo latte e miele, però. Ecco perché discuteremo anche dei problemi che puoi riscontrare durante l’utilizzo di functools.lru_cache
strumento di memorizzazione nella cache.
functools.lru_cache
Python offre vari strumenti di memorizzazione, ma oggi parliamo di quello che fa parte della libreria standard Python: functools.lru_cache
.
Fonte: towardsdatascience.com