一囱井、偏函數(shù)(partial)
1-1:偏函數(shù)的作用
當(dāng)函數(shù)的參數(shù)個數(shù)太多踊谋,需要簡化時滋迈,使用 functools.partial 可以創(chuàng)建一個新的函數(shù)蜻直,這個新函數(shù)可以固定住原函數(shù)的部分參數(shù)校仑,從而在調(diào)用時更簡單取董。
def work(name,age,sex):
print(name,age,sex)
work2 = partial(work,name = "lemon")
work2(age = 11,sex = "女")
結(jié)果
二、wraps(內(nèi)置的裝飾器函數(shù)):
2-1:作用
將一個函數(shù)的特殊屬性保存到另一個函數(shù)上
2-2:應(yīng)用場景
消除裝飾器的副作用
def func():
"""這個是func函數(shù)"""
@wraps(func)
def work():
"""這個是work函數(shù)"""
print("----work---")
print(work,work.__name__,work.__doc__)
work()
image.png
三沸枯、lru_cache(內(nèi)置的裝飾器函數(shù))
3-1:作用:
對函數(shù)執(zhí)行的結(jié)果進行緩存
3-2:應(yīng)用場景
提升遞歸函數(shù)的執(zhí)行效率
# 緩存同一個函數(shù) 相同參數(shù)執(zhí)行的結(jié)果
@lru_cache(maxsize=128)
def work(n):
if n == 1:
return 1
else:
return work(n - 1) * n
print(work(6))
image.png