Python functools 是一个内置模块,提供了一些有用的函数,帮助我们操作和组合其他函数
▥Python
𝄐 0
python functools模块,python functools cache,python functools numpy,python functools socket,python functools安装,python functools.wrap
Python functools 是一个内置模块,提供了一些有用的函数,帮助我们操作和组合其他函数。其中包括缓存、偏函数以及其他高阶函数。
以下是functools模块中几个常见函数的例子:
1. functools.partial() 函数可以创建一个新的函数,这个函数固定了原来函数的部分参数,达到预设值时,直接跳过,并返回剩下参数的结果。
python
import functools
def multiply(x, y):
return x * y
# 创建一个新函数double,将multiply函数的第一个参数固定为2
double = functools.partial(multiply, 2)
print(double(4)) # 输出8,等于multiply(2,4)
2. functools.cache() 函数可以缓存函数的结果,避免多次调用同样的参数,浪费计算资源,提高程序效率。
python
import functools
@functools.cache # 使用cache装饰器
def fib(n):
if n < 2:
return n
return fib(n-1) + fib(n-2)
print(fib(30)) # 输出832040,如果没有使用cache,这个运算会非常耗时。
3. functools.reduce()函数可以对序列中的元素进行累积操作。
python
import functools
def product(seq):
return functools.reduce(lambda x, y: x*y, seq)
lst = [1,2,3,4,5]
print(product(lst)) # 输出120,等价于1*2*3*4*5
除了这些函数之外,functools 模块还提供了其他有用的工具函数,例如: functools.wraps()、functools.lru_cache()、functools.singledispatch() 等。
Python functools 是一个内置模块,提供了一些有用的函数,帮助我们操作和组合其他函数。其中包括缓存、偏函数以及其他高阶函数。
以下是functools模块中几个常见函数的例子:
1. functools.partial() 函数可以创建一个新的函数,这个函数固定了原来函数的部分参数,达到预设值时,直接跳过,并返回剩下参数的结果。
python
import functools
def multiply(x, y):
return x * y
# 创建一个新函数double,将multiply函数的第一个参数固定为2
double = functools.partial(multiply, 2)
print(double(4)) # 输出8,等于multiply(2,4)
2. functools.cache() 函数可以缓存函数的结果,避免多次调用同样的参数,浪费计算资源,提高程序效率。
python
import functools
@functools.cache # 使用cache装饰器
def fib(n):
if n < 2:
return n
return fib(n-1) + fib(n-2)
print(fib(30)) # 输出832040,如果没有使用cache,这个运算会非常耗时。
3. functools.reduce()函数可以对序列中的元素进行累积操作。
python
import functools
def product(seq):
return functools.reduce(lambda x, y: x*y, seq)
lst = [1,2,3,4,5]
print(product(lst)) # 输出120,等价于1*2*3*4*5
除了这些函数之外,functools 模块还提供了其他有用的工具函数,例如: functools.wraps()、functools.lru_cache()、functools.singledispatch() 等。
本文地址:
/show-274820.html
版权声明:除非特别标注原创,其它均来自互联网,转载时请以链接形式注明文章出处。