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