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

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

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值