python函数编程-偏函数partial function
生活随笔
收集整理的这篇文章主要介绍了
python函数编程-偏函数partial function
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
python函数编程-偏函数partial function
一般的,通过设定函数参数的默认值,可以减低函数调用的难度。比如:int()函数可以把字符串转换成整数:
>>> int('123') 123事实上,int()函数还提供额外的base参数,表示进制,只是默认值是10而已:
>>> int('123',base=16) 291 >>> int('123',16) 291现在,如果我们需要转换大量的二进制字符串,每次都调用int(x,base=2)显得比较麻烦。这时我们可以尝试封装函数int(x,base=2)成为int2(x),而int2(x)相当于:
>>> def int2(x,base=2): ... return int(x,base) ... >>> int2('1000111') 71在python的functools模块中就内置了partial函数,用于把函数的某些参数固定住(也就是设置默认值),最后返回一个新函数。这就是偏函数(和数学中的偏函数的意义不同)。上述例子可以使用偏函数改写为:
>>> import functools >>> int2 = functools.partial(int,base=2) >>> int2('110011') 51其实,上面新的int2函数,仅仅是把base参数的默认值由原来的10变为2。我们还是可以在函数调用的时候传入其他的值:
>>> int2('110011',base = 10) 110011创建偏函数的时候,可以接收3种类型的参数:函数、*args、**kw:
当写成:
int2 = functools.partial(int,base=2)int2('110011')
执行的结果相当于:
kw = { 'base': 2 } int('10010', **kw)当写成:
>>> max2 = functools.partial(max,5) >>> max2(3,6) 6相当于:
args = (10, 5, 6, 7) max(*args)可见,如果一个函数的参数个数太多,需要简化的时候,使用functools.partial函数,可以创建一个函数,这个新函数可以将原函数的部分参数初始化(即赋默认值),调用的时候更简单
posted on 2017-12-28 23:45 风雨一肩挑 阅读(...) 评论(...) 编辑 收藏转载于:https://www.cnblogs.com/hiwuchong/p/8138386.html
总结
以上是生活随笔为你收集整理的python函数编程-偏函数partial function的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: TensorFlow MNIST初级学习
- 下一篇: Python Numpy 矩阵级基本操作