Python实用笔记 (16)函数式编程——偏函数

Posted 牛郎

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python实用笔记 (16)函数式编程——偏函数相关的知识,希望对你有一定的参考价值。

假设要转换大量的二进制字符串,每次都传入int(x, base=2)非常麻烦,于是,我们想到,可以定义一个int2()的函数,默认把base=2传进去:

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

这样,我们转换二进制就非常方便了:

>>> int2(‘1000000‘)
64
>>> int2(‘1010101‘)
85

functools.partial就是帮助我们创建一个偏函数的,不需要我们自己定义int2(),可以直接使用下面的代码创建一个新的函数int2

>>> import functools
>>> int2 = functools.partial(int, base=2)
>>> int2(‘1000000‘)
64
>>> int2(‘1010101‘)
85

所以,简单总结functools.partial的作用就是,把一个函数的某些参数给固定住(也就是设置默认值),返回一个新的函数,调用这个新函数会更简单。

创建偏函数时,实际上可以接收函数对象、*args**kw这3个参数(事实上原文后半段内容没看懂)

以上是关于Python实用笔记 (16)函数式编程——偏函数的主要内容,如果未能解决你的问题,请参考以下文章

Python实用笔记 (15)函数式编程——装饰器

廖雪峰的Python系列教程——函数式编程之偏函数

python函数式编程之匿名函数装饰器偏函数

函数式编程-偏函数

(转)Python进阶:函数式编程(高阶函数,map,reduce,filter,sorted,返回函数,匿名函数,偏函数)

python函数式编程-偏向函数