python偏函数理解_Python初学笔记之偏函数

1、Python中的偏函数和数学上的不一样。Python中的函数参数可以设定默认值,来降低函数调用的难度。举例说明:

int()函数可以把字符串转换成整数,当仅传入字符串时,int()函数默认按10进制进行转换:

int('123123')

# 123123

其实int()还提供额外的base参数,默认值是10,如果传入base参数,就可以做N进制转换:

int('12345',base=8)

#5349

int('12345',base=16)

#74565

假设需要转换大量的二进制字符串,每次传入int(x,base=2)比较麻烦,于是我们就想到了自己写一个方法int2(),把base=2默认传进去:

def int2(x,base=2):

return int(x,base)

这样我们就能直接使用int2()来转换二进制了

int2('10000000')

#64

下面就讲偏函数,functools.partial,就是帮助我们来创建一个偏函数的:

import functools

int2=functools.partial(int,base=2)

int2('1000000')

#64

#也可以传入base值

int2=functools.partial('1000000',base=10)

#1000000

其实创建偏函数时,实际上可以接受函数对象,*args,**kw这三个参数,当传入:

int2=functools.partial(int,base=2)

实际上固定了int的关键字参数base,也就是:

int2('1000000')

当传入:

max2=functools.partial(max,10)

实际上会把10作为*args的一部分自动加到左边,也就是

max2(5,6,7)

#相当于

args=(10,5,6,7)

max(*args)

#10

小结:当函数有多个参数,且某些参数是固定的,那么就可以用偏函数来简化他们了。如果你对Java有所了解,偏函数有点像Java中的方法重载

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值