我们即将学习的是:在Python中实现更简单好用的函数运算缓存。 函数运算缓存,顾名思义就是我们可以针对指定的函数,让其记住过往参数输入和返回结果,使得后续接收到相同的参数时跳过函数运算,直接返回已缓存的结果值。 很多朋友应该知道Python标准库里functools.lru_cache可以做函数运算缓存,但是它的功能实在是太简陋了,像过期时间设置之类的功能都没有。 而我们可以使用第三方库cachier来代替,它的基本使用方式非常简单,使用pip install cachier完成安装后,我们来看一个简单的示例: 这里我们定义一个具有一定运算耗时的函数,利用cachier.cachier()装饰,并利用参数stale_after设置缓存到期时间为10秒:
importtime fromcachierimportcachier fromdatetimeimporttimedelta @cachier(stale_after=timedelta(seconds=10)) defdemo(x:int,y:int): time.sleep(2) returnx*y foriinrange(10): print('-'*50) print(f'第{i+1}次执行') start=time.time() demo(1,1) print(f'耗时{round(time.time()-start,2)}秒') time.sleep(2)过程打印记录如下:
![16fc5746-146a-11ed-ba43-dac502259ad0.png](https://file1.elecfans.com//web2/M00/95/F9/wKgZomTnE5qAUFs7AAC2QpbeqCo214.png)
审核编辑:彭静
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
存储
+关注
关注
13文章
4367浏览量
86259 -
函数
+关注
关注
3文章
4350浏览量
63051 -
python
+关注
关注
56文章
4811浏览量
85102
原文标题:Python 中更好用的函数运算缓存
文章出处:【微信号:AI科技大本营,微信公众号:AI科技大本营】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
如何使用LUA脚本在串口屏中实现简单的逻辑运算以及字符处理
物联型串口屏通过 LUA 脚本配合工程可以完成大部分的内部逻辑处理,可以做到让 MCU 只参与数据处理,不参与屏的逻辑处理。本文将介绍如何使用 LUA 脚本在串口屏中实现简单的逻辑
发表于 10-17 08:00
•17次下载
![如何使用LUA脚本<b class='flag-5'>在</b>串口屏<b class='flag-5'>中</b><b class='flag-5'>实现</b><b class='flag-5'>简单</b>的逻辑<b class='flag-5'>运算</b>以及字符处理](https://file.elecfans.com/web1/M00/AA/2F/o4YBAF2n42GAczH1AAP-NGd4xDc558.png)
python函数概念理解
函数是可以实现一些特定功能的小方法或是小程序。在Python中有很多内建函数,当然随着学习的深入,我们可以学会创建对自己有用的
Python支持递归函数
Python支持递归函数——即直接或间接地调用自身以进行循环的函数。递归是颇为高级的话题,并且它在Python中相对少见。然而,它是一项应该
python函数返回多个参数
。 在Python中,可以使用关键字 return 来返回一个或多个值。在函数定义的末尾,可以使用 return 语句来指定
复数中i在Python中如何定义
复数中的虚数单位'i'在Python中可以通过使用cmath模块来定义和使用。cmath模块提供了处理复数的函数和常量。
python中如何引入math库
在Python中,要使用math库,首先需要先引入它。math库是Python的一个标准库,它提供了许多数学函数和常数。通过使用math库,
split在python中的用法
split在python中的用法 split()是Python中一个非常常用的字符串函数,它能够根据指定的分隔符将一个字符串分割成多个子字符
逻辑异或运算符在Python中的用法
,Python中的 ^ 符号实际上是一个按位异或运算符,用于对整数的二进制表示进行异或操作。 尽管如此,我们仍然可以通过一些方法来实现逻辑异或的功能,即当两个布尔值不同时为真,相同时为
评论