partial( )
是 Python标准库functools
模块中提供的一个高阶函数,用于将一个函数转换为另一个函数,可以对原函数的部分参数进行固定,从而产生一个新的函数
partial( )
函数的语法如下:
functools.partial(func, *args, **keywords)
其中,func
表示要转换的原函数, *args
和 **keywords
表示要固定的参数和关键字参数
当通过partial( )
函数将一个函数转换为另一个函数时,可以指定原函数中的某些参数的值,并生成一个新的函数
例如,假设有一个函数add
,实现两个数相加的功能:
def add(x, y):
return x + y
通过 partial( )
函数,可以将add
函数转换为一个新的函数 add5
,该函数的第一个参数永远为5
:
from functools import partial
add5 = partial(add, 5)
print(add5(3)) # 输出:8
在上面的示例中,通过partial()
函数创建了一个新函数add5
,该函数的第一个参数固定为5
,所以每次调用add5
时都会加上5
因此,add5(3)
返回8
,即5+3
的结果
partial()
函数还可以对原函数中的关键字参数进行固定
例如,假设有一个函数pow
,实现对一个数进行幂运算的功能:
def pow(x, n=2):
return x ** n
通过partial()
函数,可以将pow
函数转换为一个新的函数square
,该函数固定了第二个参数为2
:
square = partial(pow, n=2)
print(square(3)) # 输出:9
在上面的示例中,通过partial()
函数创建了一个新函数square
,该函数的第二个参数固定为2。
因此,square(3)
返回9
,即3**2
的结果