python的内置模块functools
2022-11-13 本文已影响0人
测试探索
一、偏函数(partial)
1-1:偏函数的作用
当函数的参数个数太多,需要简化时,使用 functools.partial 可以创建一个新的函数,这个新函数可以固定住原函数的部分参数,从而在调用时更简单。
def work(name,age,sex):
print(name,age,sex)
work2 = partial(work,name = "lemon")
work2(age = 11,sex = "女")
结果
二、wraps(内置的装饰器函数):
2-1:作用
将一个函数的特殊属性保存到另一个函数上
2-2:应用场景
消除装饰器的副作用
def func():
"""这个是func函数"""
@wraps(func)
def work():
"""这个是work函数"""
print("----work---")
print(work,work.__name__,work.__doc__)
work()
image.png
三、lru_cache(内置的装饰器函数)
3-1:作用:
对函数执行的结果进行缓存
3-2:应用场景
提升递归函数的执行效率
# 缓存同一个函数 相同参数执行的结果
@lru_cache(maxsize=128)
def work(n):
if n == 1:
return 1
else:
return work(n - 1) * n
print(work(6))
image.png