Skip to main content

Memoization

functools

  • import functools
@lru_cache(maxsize=4)
def expensive_function(n):
print(f"Calculating {n}...")
return n * n

# Use cache
# @functools.cache

print(expensive_function.cache_info())
# Output: CacheInfo(hits=0, misses=5, maxsize=3, currsize=3)

# Clear the cache
expensive_function.cache_clear()

# Cache info after clearing
print(expensive_function.cache_info())
# Output: CacheInfo(hits=0, misses=0, maxsize=3, currsize=0)