5.6 【基础】偏函数的妙用

假如一个函数定义了多个位置参数,那你每次调用时,都需要把这些个参数一个一个地传递进去。

比如下面这个函数,是用来计算 x的n次方 的。

def power(x, n):
    s = 1
    while n > 0:
        n = n - 1
        s = s * x
    return s

那我每次计算 x 的 n 次方,都要传递两个参数

>>> power(2, 2)
4
>>> power(3, 2)
9

后来我发现,我很多时候都是计算平方值,很多会去计算三次方,四次方。

那有什么办法可以偷个懒吗?

答案是,有。可以使用 偏函数

偏函数(Partial Function),可以将某个函数的常用参数进行固定,避免每次调用时都要指定。

使用偏函数,需要导入 functools.partial ,然后利用它创建一个新函数,新函数的 n 固定等2。

具体使用请看下面的示例

>>> from functools import partial
>>> power_2=partial(power, n=2)
>>> power_2(2)
4
>>> power_2(3)
9