偏函数

2017-01-27  本文已影响166人  黄大臻Dzreal

偏函数:

functools模块提供很多有用的功能,其中就有偏函数

tip:int()函数可提供额外的base参数,

int('12345', base=8)

将字符串转换为8进制数。

偏函数的应用场景,假如要转换大量的二进制字符串,每次都传入int(x, base=2)非常麻烦,于是,我们想到,可以定义一个int2()的函数,默认把base=2传进去:

def int2(x, base=2):

return int(x, base)

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

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

小结

当函数的参数个数太多,需要简化时,使用functools.partial可以创建一个新的函数,这个新函数可以固定住原函数的部分参数,从而在调用时更简单。

上一篇 下一篇

猜你喜欢

热点阅读