python lru_cache裝飾器的作用
ru_cache裝飾器實(shí)現(xiàn)了備忘功能沧踏,能夠優(yōu)化函數(shù)執(zhí)行速度喉镰,他把耗時的函數(shù)的結(jié)果保存起來内贮,避免傳入相同參數(shù)時重復(fù)計算栖疑,但是他的緩存也不會無限增長讨永,一段時間不用的條目會刪除。被lru_cache裝飾的函數(shù)的參數(shù)必須時可散列的遇革。
lru_cache有兩個可選參數(shù):
- maxsize:指定存儲多少個調(diào)用的結(jié)果卿闹。
- typed:True 把不同參數(shù)類型得到的結(jié)果分開保存揭糕,即相同的浮點(diǎn)數(shù)和整數(shù)區(qū)分開。
from functools import lru_cache
@lru_cache(maxsize=128, typed=False)
def func():
pass