functools模块用途

partial
偏函数,把函数部分的参数固定下来,相当于为部分的参数添加了一个固定的默认值,形成了一个新的函数并返回
从partial生成的新函数,是对原函数的封装
 
lru_cache(maxsize=128,typed=Flase)
least-recently-used装饰器,lru,最近最少使用,cache缓存
如果maxsize设置为None,则禁用LRU功能,并且缓存可以无限制增长,当max是二的幂时,LRU功能执行的最好
如果typed设置为True,则不同类型的函数参数将单独缓存,例如f(3),f(3.0)将被视为具有不同结果的不同调用
 
lru_cache装饰器作用
使用前提:
     同样的函数参数一定得到同样的结果
     函数执行时间很长,且要执行多次执行
本质是函数调用的参数=>返回值
缺点:
不支持缓存过期,key无法过期,失效
不支持清除操作
不支持分布式,是一个单机的缓存
使用场景,单机上需要空间换时间的地方,可以用缓存来将计算编程快速的查询

posted on 2017-10-23 13:05  pythonerLau  阅读(246)  评论(0编辑  收藏  举报

导航