编程语言
815
假如一个函数定义了多个位置参数,那你每次调用时,都需要把这些个参数一个一个地传递进去。
比如下面这个函数,是用来计算 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