偏函数
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。