Python3 functools — 函数操作工具箱
functools
是 Python 的一个标准库模块,提供了一些高阶函数,用于在 Python 中进行函数式编程。
以下是一些 functools
模块中常用的函数和类的简单示例:
partial
函数:用于创建一个新的部分应用函数。
from functools import partial
# 定义一个带有两个参数的函数
def greet(hello, name):
return f"{hello}, {name}!"
# 使用 partial 创建一个新的带有默认 'Hello' 参数的 greet 函数
hello_partial = partial(greet, 'Hello')
# 调用新的带有默认 'Hello' 参数的 greet 函数
result = hello_partial('World')
print(result) # 输出: Hello, World!
lru_cache
装饰器:用于添加一个 Least Recently Used (LRU) 缓存。
from functools import lru_cache
# 定义一个计算阶乘的递归函数
@lru_cache(maxsize=128)
def factorial(n):
if n == 0:
return 1
return n * factorial(n - 1)
# 测试
print(factorial(10)) # 输出: 3628800
reduce
函数:用于对序列中的元素执行一个二元函数,并连续的将结果应用到序列的剩余元素。
from functools import reduce
# 定义一个加法函数
def add(x, y):
return x + y
# 使用 reduce 计算 1 到 10 的累加结果
result = reduce(add, range(1, 11))
print(result) # 输出: 55
这些示例展示了 functools
模块的一些基本用法。实际上,functools
模块还提供了更多强大的功能,例如 update_wrapper
和 wraps
装饰器,用于装饰包装函数等。
评论已关闭