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

匿名函数

当我们在传入函数时,有些时候,不需要显式的定义函数,直接传入匿名函数就行。如下面

lambda x: x*x

在python中,关键字lambda表示匿名函数,冒号前面的x表示函数参数
匿名函数有一个限制,就是只能有一个表达式,不用写return,返回值就是该表达式的结果。
好处:防止函数名冲突,此外匿名函数也是一个函数对象,也可以把匿名函数赋值给一个变量,再利用变量来调用这个函数。

装饰器(decorator)

decorator可以增强函数的功能,定义起来虽然有点复杂,但是使用起来非常方便
具体的参考廖雪峰的官方教程。https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014318435599930270c0381a3b44db991cd6d858064ac0000

偏函数

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

python的functools模块提供了很多有用的功能,其中一个就是偏函数。
functools.partial就是帮助我们创建一个偏函数的,不需要我们自己定义int2().

import functools
int2 = functools.partial(int,base = 2)
int2('1000000')
//64
posted @ 2017-11-26 18:55  sminocence  阅读(146)  评论(0编辑  收藏  举报