python-偏函数(Partial function)使用及理解

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/deng1456694385/article/details/87557058

python-偏函数(Partial function)

偏函数也是functools模块中的一个方法,即functools.partial偏函数就是为了固定某些参数的传入,作为默认参数传入,下面我们以int为例子来解释用法

#默认为十进制
>>> int('123')
123
#转二进制
>>> int('123',base=2)
1111011
>>> int('123',2)
1111011
#转十六进制
>>> int('123',base=16)
7b
>>> int('123',16)
7b

这时候我们想一直以二进制转换,但是每次都需要写第二个参数很麻烦,我们可以创建一个新函数默认传入第二个参数

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

偏函数就是为了让我们不用手动实现这一过程,偏函数实现方式

>>> import functools
>>> int2 = functools.partial(int, base=2)
>>> int2('123')
1111011
>>> int2('123',base=10)  #可以对传入的默认值的覆盖
123

创建偏函数向党羽可以传入三个functools.partial(固定的函数, *args(值),* *kw(键值对)),而后面的参数其实是放在最左边的,所以像上面的base会被覆盖.

所以如果你写

>>> int2 = functools.partial(int, '1234')
>>> int2(8)
668
#等同于
>>> int('1234',8)
668

所以如果参数有顺序要求的,使用偏函数要比较谨慎

猜你喜欢

转载自blog.csdn.net/deng1456694385/article/details/87557058