Skip to content

Instantly share code, notes, and snippets.

@danslapman
Created December 6, 2016 12:37
Show Gist options
  • Save danslapman/64ebc6d47a00cb0389354057e69c85f7 to your computer and use it in GitHub Desktop.
Save danslapman/64ebc6d47a00cb0389354057e69c85f7 to your computer and use it in GitHub Desktop.
Python memoization decorator
__author__ = 'Daniil <danslapman> Smirnov'
__copyright__ = 'Copyleft 2013, danslapman'
__contact__ = 'https://bitbucket.org/danslapman/memoize'
def memoize(cache):
def memoize(fun):
def memoizator(*args, **kwargs):
if args in cache:
return cache[args]
else:
res = fun(*args, **kwargs)
cache[args] = res
return res
return memoizator
return memoize
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment