from functools import wraps def cache(func):
data = {}
@wraps(func)
def wrapper(*args):
if args in data:
print "in cache"
return data[args]
else:
print "not in cache"
res = func(*args)
data[args] = res
return res
return wrapper @cache
def post_data(args):
return args post_data(123) # not in cache
post_data(123) # in cache
post_data(1235) # not in cache
相关文章
- 01-25python – 装饰一个函数并添加保留参数数量的功能
- 01-25一种带命令参数的touch命令功能的Python实现
- 01-25computed 和 method 都能实现的一个功能,建议使用 computed,因为有缓存
- 01-25python 基础——实现一个带缓存功能的函数
- 01-25python内置函数print输出到文件,实现日志记录的功能
- 01-25完成一段简单的Python程序,用于实现一个简单的加减乘除计算器功能
- 01-25python - Leetcode面试题:请实现一个函数,把字符串 s 中的每个空格替换成"%20"
- 01-25python练习题:利用切片操作,实现一个trim()函数,去除字符串首尾的空格,注意不要调用str的strip()方法
- 01-25用python实现一个不排序的列表功能
- 01-25Python进阶(七)----带参数的装饰器,多个装饰器修饰同一个函数和递归简单案例(斐波那契数列)