python的内置模块functools

一、偏函数(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

你可能感兴趣的:(python的内置模块functools)