March 2020
Intermediate to advanced
608 pages
17h 17m
English
The approach we have just described only works if the method is called without arguments so that the result will always be the same. But what if the input varies? Since Python 3.2, there is a decorator we can use to provide basic Least Recently Used (LRU) caching of method calls based on a hash of the arguments (at least those that are hashable).
For example, let's look at a contrived and trivial example with a function that takes in two values and returns the result of some expensive logic:
def busy_bee(a, b): # expensive logic return result
If we had such a function and wanted to provide a cache to store the results of some commonly used input variations, we could do so easily with the @lru_cache decorator from the functools ...