函数式编程是一种编程模型,他将计算机运算看做是数学中函数的计算,并且避免了状态以及变量的概念
对象是面向对象的第一型,那么函数式编程也是一样,函数是函数式编程的第一型。
函数式编程的第一型
在函数式编程中,我们要做的是把函数传来传去,而这个,说成术语,我们把他叫做高阶函数。
def Filt(arr,func):
result = []
for item in arr:
result.append(func(item))
return result
def MyFilter(ele):
if ele < 0 :
return 0
return ele
if __name__ == '__main__':
arr = [-5,3,5,11,-45,32]
print('%s' % (Filt(arr,MyFilter)))
哦,之前忘记了说,什么叫做高阶函数,我们给出定义:
在数学和计算机科学中,高阶函数是至少满足下列一个条件的函数:
接受一个或多个函数作为输入
输出一个函数
在函数式编程中,函数是基本单位,是第一型,他几乎被用作一切,包括最简单的计算,甚至连变量都被计算所取代。
在函数式编程中,变量只是一个名称,而不是一个存储单元
这是函数式编程与传统的命令式编程最典型的不同之处。
参考: http://www.cnblogs.com/kym/archive/2011/03/07/1976519.html