Memoization

import time

ef_cache = {}

def expensive_func(num):
    if num in ef_cache:
        return ef_cache[num]

    print ("Computing {}...".format(num))
    time.sleep(1)
    result = num*num
    ef_cache[num] = result
    return num*num

result = expensive_func(4)
print (result)

result = expensive_func(10)
print (result)

result = expensive_func(4)
print (result)

result = expensive_func(10)
print (result)
posted @ 2017-06-21 15:04  2021年的顺遂平安君  阅读(143)  评论(0编辑  收藏  举报