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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容