python——偏函数

来源:互联网 发布:东华金云网络股份公司 编辑:程序博客网 时间:2024/05/18 21:49

偏函数

偏函数是functools模块提供的一个函数生成机制,使函数调用更加简单简洁
import functoolsprint int('101')print int('101', 10)print int('101', 2)print int('101', 8)print int('101', 16)int2 = functools.partial(int, base = 2)int8 = functools.partial(int, base = 8)int16 = functools.partial(int, base = 16)print intprint int2print int8print int16print int2('101')print int2('101', base = 10)print int2('101', base = 8)
output:
101101565257<type 'int'><functools.partial object at 0x1050779f0><functools.partial object at 0x105077a48><functools.partial object at 0x105077aa0>510165
functool.partial函数有三个参数值,分别为函数对象,*args,**kw
int2 = functools.partial(int, base = 2)
等价于:
def int2(base = 2)    return int(x, base)
总结:
  • int的原型为int(x, base = 10)
  • functools.partial返回一个偏函数,调用这个偏函数更加简单简洁
  • functools.partial返回的偏函数可以显式指定默认参数值
  • functool.partial函数有三个参数值,分别为函数对象,*args,**kw
  • int2('101')相当于kw = {base:2}; int('101', **kw)
  • max2 = functools.max(max, 10); max2(5, 6, 7)相当于args = {10, 5, 6, 7}; max(*args),把10作为*args的一部分自动添加到左边
0 0
原创粉丝点击