Python柯理化和装饰器

柯里化 

  指的是将原来接收两个参数的函数变成接收一个参数的函数过程,新的函数返回一个以原有第二个参数为参数的函数。

  例如:z = f(x,y) --->z = f(x)(y)的形式

示例:

def add(x,y):
    return x + y
add(4,5)

#柯理化装换后

def add(x):
    def _add(y):
        return x + y 
    return _add
add(4)(5)

通过嵌套函数可实现柯理化
def add(x):
    def add1(y=1,z=2):
        return x + y + z 
    return add1
add(1)(1,4)


def add(x,y):
    def add1(z=2):
        return x + y + z 
    return add1
add(1,4)(1)


def add(x):
    def add1(y):
        def add2(z):
            return x + y + z
        return add2
    return add1
add(1)(4)(1)

猜你喜欢

转载自www.cnblogs.com/alrenn/p/12728944.html