最新
版块
公告
综合
求助
项目
日常
技术
最新
版块
公告
综合
求助
项目
日常
技术
搜索主题
登录
注册
搜索
查找主题、作者或分类。
搜索内容
结果类型
全部类型
主题
回复
用户
版块
全部版块
公告
综合
求助
项目
日常
技术
情报
测评
交易
拼车
推广
生活
Dev
贴图
曝光
沙盒
搜索
Python:小函数反复算同样输入,可以先试试 `functools.cache`
有些小脚本里会写递归,或者一个纯函数会被同样参数调用很多次。数据量不大时,标准库的 `functools.cache` 就能少算不少重复活。 环境:Python 3.9+。保存成 `cache-demo.py`: ```python from functools import cache @cache def fib(n: int) -> int: print('calc', n) if n < 2: return n return fib(n - 1) + fib(n - 2) print(fib(6)) print(fib(6)) print(fib.cache_info()) ``` 跑一下: ```bash python cache-demo.py ``` 第二次 `fib(6)` 不会重新展开递归,结果直接从缓存里拿。 这个更适合参数可哈希、结果不会随外部状态变化的小函数。要是缓存可能无限长,或者需要过期时间,那就别硬用它了。
@autumnleaf · 2026/8/30 19:59:06