函数式编程日记

第一天:

闭包和高阶函数,闭包相当于一个class,闭包是一个函数,函数内部有一些局部变量和内部函数的定义,闭包接受的参数可以是一般的变量也可以是函数变量,输出也可以是一般的变量和函数变量,高阶函数呢,高级函数至少满足两个条件中的一个,首先是接受一个或多个函数作为输入,其次是输出一个函数。

泛函是一种定义域是函数,值域是实数的函数。也就是说输入参数是函数,输出是实数的函数。

Currying(柯里化),是把接受接受多个参数的函数转化为接受一个参数的函数。并返回接受余下参数而且返回结果是新函数。

 

原来接受两个参数的加法函数,

def add(x,y):

  return x+y

 

Currying:

def add(x):

  def f(y):

    return x+y

  return f

 

posted @ 2013-01-17 16:04  GOD_YCA  阅读(169)  评论(0)    收藏  举报