Python3模糊点整理-偏函数

偏函数

functools.partial:

把一个函数的某些参数给固定住(也就是设置默认值),返回一个新的函数,调用这个新函数会更简单。

接收对象:函数对象,可变参数,关键字参数

创建偏函数时,接收函数对象

def int2(x, base=2):
    return int(x, base)

>>> import functools
>>> int2 = functools.partial(int, base=2)
>>> int2('1000000')
64
>>> int2('1010101')
85

接收**args

int2 = functools.partial(int, base=2)
实际上固定了int()函数的关键字参数base,也就是:

int2('10010')相当于:

kw = { 'base': 2 }
int('10010', **kw)

接收*args

当传入:
max2 = functools.partial(max, 10)
实际上会把10作为*args的一部分自动加到左边,也就是:

max2(5, 6, 7)
相当于:
args = (10, 5, 6, 7)
max(*args)
结果为10。

猜你喜欢

转载自www.cnblogs.com/jpga/p/12580806.html