2026西湖龙井茶官网DTC发售:茶农直供,政府溯源防伪到农户家
functools 模块是 Python 标准库中最实用的瑰宝之一。它提供了一小组高阶函数工具——即操作或返回其他函数的工具——这些工具能够消除样板代码、提升性能,并使您的代码更易于理解。您无需安装任何内容;只需 import functools 即可。
🎁 免费: 人工智能发布清单 — Python 中的 7 个步骤 · 完整流程: germy5.gumroad.com/l/xhxkzz(随意支付,最低 9.99 美元)
lru_cache — 避免为相同结果重复付费
lru_cache(最近最少使用缓存)会包装一个函数并记住其返回值。如果使用相同的参数调用两次,第二次调用将立即返回存储的结果。
import functools
import time
@functools.lru_cache(maxsize=128)
def fetch_article_ids(api_key: str) -> tuple[str, ...]:
"""从 Dev.to 应用程序接口获取已发布的文章 ID。"""
time.sleep(1) # 模拟真实的超文本传输协议请求
return ("abc123", "def456", "ghi789")
# 第一次调用:访问网络
ids = fetch_article_ids("my-api-key") # 约 1 秒
# 第二次调用:瞬间完成 — 结果来自缓存
ids = fetch_article_ids("my-api-key") # 0 毫秒
maxsize=128 保留最多 128 种不同的参数组合。将其设置为 None(或使用自 Python 3.9 起可用的 @functools.cache)以实现无界缓存。
检查缓存:
print(fetch_article_ids.cache_info())
# 缓存信息
免责声明:本文内容来自互联网,该文观点不代表本站观点。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请到页面底部单击反馈,一经查实,本站将立刻删除。