def cached(func):
cache = {}
def template(*args): #: template is wrapper; func is wrapped
key = (func, )+args
try:
ret = cache[key]
except KeyError:
ret = func(*args)
cache[key] = ret
else:
pass
return ret
functools.update_wrapper(template, func)
return template
评论列表
文章目录