Advertisement
Guest User

Untitled

a guest
May 29th, 2016
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.44 KB | None | 0 0
  1. cache = dict()
  2.  
  3. def memoize(func):
  4.     def wrapper(*args, **kwargs):
  5.         if (args, frozenset(kwargs.items())) not in cache:
  6.             #print("If I uncomment this then CALLING f 2 is printed, otherwise not")
  7.             cache[(args, frozenset(kwargs.items()))] = func(*args, **kwargs)
  8.         return cache[(args, frozenset(kwargs.items()))]
  9.     return wrapper
  10.  
  11. @memoize
  12. def f(x):
  13.     print("CALLING: f {}".format(x))
  14.     return x ** 2
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement