2018-07-20 函数式编程2

返回函数

EG

def lazy_sum(*args):

    def sum():

        ax = 0

        for n in args:

            ax = ax + n

        return ax

    return sum

注意,由于返回函数的闭包特性(即所谓调用时才执行),谨慎使用循环变量...或者...不要使用

匿名函数

>>> list(map(lambda x: x * x, [1, 2, 3, 4, 5, 6, 7, 8, 9]))

[1, 4, 9, 16, 25, 36, 49, 64, 81]

# lambda x: x * x 即为匿名函数,x表示参数

#还记得map吗孩子

装饰器 Decorator

是一种在代码运行时动态增加功能又不对原还是做出改变的方法

@语法:'@' 用做函数的修饰符,可以在模块或者类的定义层内对函数进行修饰。

偏函数 Partial function

functools.partial 把一个函数的某些参数给固定住(也就是设置默认值),返回一个新的函数,创建偏函数时,实际上可以接收函数对象、*args和**kw这3个参数。

你可能感兴趣的:(2018-07-20 函数式编程2)