1 Star 0 Fork 0

张斌/Python

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
memo.py 576 Bytes
一键复制 编辑 原始数据 按行查看 历史
张斌 提交于 2020-06-05 14:30 . v1.1.6.2 feat: multi processing threading
#!usr/bin/env python
# -*- coding:utf-8 -*-
from functools import wraps
def memo(fn):
"""
调用函数前查询一下缓存,
如果没有才调用,有就从缓存中返回值
"""
cache = {}
miss = object()
@wraps(fn)
def wrapper(*args):
result = cache.get(args, miss)
if result is miss:
result = fn(*args)
cache[args] = result
return result
return wrapper
@memo
def fib(n):
if n < 2:
return n
return fib(n - 1) + fib(n - 2)
if __name__ == "__main__":
print(fib(12))
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/zhangbin23/Python.git
git@gitee.com:zhangbin23/Python.git
zhangbin23
Python
Python
master

搜索帮助