-rwxr-xr-x 393 high-ctidh-20210523/memoized.py
#!/usr/bin/env python3 import collections class memoized(object): def __init__(self,func): self.func = func self.cache = {} self.__name__ = 'memoized:' + func.__name__ def __call__(self,*args): if not isinstance(args,collections.Hashable): return self.func(*args) if not args in self.cache: self.cache[args] = self.func(*args) return self.cache[args]