找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 3158|回复: 1

[求助] 哪位帮我看下,是什么问题

1

主题

2

帖子

11

积分

贫民

积分
11
戈清87 发表于 2015-7-20 22:28:53 | 显示全部楼层 |阅读模式
import time
import hashlib
import pickle
from itertools import chain

cache ={}
def is_obsolete(entry, duration):
    return (time.time()-entry['time'] > duration)
   
def compute_key(F, args, kw):
    key = pickle.dumps((F.__name__, args,kw))
    return hashlib.update(key).hexdigest()
   
def memoize(duration=10):
    def _memoize1(F):
        def _memoize2(*args, **kw):
            key = compute_key(F, args, kw)
            
            #if it get ?
            if (key in cache and not is_obsolete(cache[key], duration)):
                print("we got a winner")
                return  cach[key]['value']
            
            #count
            result = F(*args, **kw)
            
            #save result
            cache[key] = {'value':result, 'time':time.time()}
            return result
        return _memoize2
    return _memoize1
   
@memoize
def very_very_very_complex_stuff(a,b):
    return a+b
   
verycomplex1 = very_very_very_complex_stuff(1,2)
verycomplex2 = very_very_very_complex_stuff(1,2)

print(verycomplex1)
print(verycomplex2)
BaiduShurufa_2015-7-19_23-33-31.png
回复

使用道具 举报

1

主题

2

帖子

11

积分

贫民

积分
11
戈清87  楼主| 发表于 2015-7-20 22:32:23 | 显示全部楼层
图片上的_memoize(),指的_memoize1()
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表