All source code available on github
from functools import wraps def custom_memoize(func): cache = {} @wraps(func) def wrapper(*args): if args in cache: print "Returning cache data" return cache[args] # If result not found then call the function result = func(*args) cache[args] = result return result return wrapper @custom_memoize def add(x,y): return x+y print add(1,2) print add(2,5) print add(1,2) print add(2,5)
Output:
3 7 Returning cache data 3 Returning cache data 7
0 comments:
Post a Comment