火柴人武林大会
156.74M · 2026-02-04
当我们在进行一些重复的计算时,可以适当的引入缓存如lru_cache来减少计算的时间,提高相应速率,
@lru.cache(maxsize=3)
def test(n:num)->int:
print(f"正在计算{n}")
return n * n
test(1)
test(1)
test(2)
test(3)
每次你调用test(n)时,lru_cache都是将参数作为缓存的key,然后他会检查是否之前已经计算过这个n对应的结果
对应n的结果 会被存储在缓存中 ,当相同的key被调用时,lru_cache会直接返回缓存的结果
maxsize=3,指定了最多缓存3个,当超过时,最早的缓存的结果会被丢弃