From 2f3a4fc525b8869942207a9a96585145b3c0e236 Mon Sep 17 00:00:00 2001 From: Yuval Adam Date: Fri, 20 May 2011 11:21:12 +0300 Subject: added memoize class --- templates/memoize.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 templates/memoize.py diff --git a/templates/memoize.py b/templates/memoize.py new file mode 100644 index 0000000..95057ad --- /dev/null +++ b/templates/memoize.py @@ -0,0 +1,13 @@ +class memoized(object): + def __init__(self, func): + self.func = func + self.cache = {} + def __call__(self, *args): + try: + return self.cache[args] + except KeyError: + value = self.func(*args) + self.cache[args] = value + return value + except TypeError: + return self.func(*args) -- cgit v1.3.1