python的函数式编程
函数是编程是什么
- 函数式编程就是一种抽象程度很高的编程范式,纯粹的函数式编程语言编写的函数没有变量
- 只要输入是确定的,输出就是确定的
- 允许把函数本身作为参数传入另一个函数,还允许返回一个函数
高阶函数
- 高阶函数就是接收函数作为参数的函数或者是返回函数作为结果的函数。
函数与变量
函数本身可以赋值给变量
函数名是指向函数的变量
传入函数
def add(x, y, f):
return f(x) + f(y)
内置的高阶函数
map
- 接收两个参数,一个是函数,另一个是可迭代对象。返回值也是一个迭代器
- 把传入的函数依次作用在可迭代对象的每个元素上,并把结果作为新的可迭代对象返回
def add(x, y):
return x + y
r = map(add, [1, 2], [3, 4])
reduce
- 接收两个参数,一个是函数,另一个是可迭代对象。返回值为一个结果
- reduce将前一个元素结果作用在后一个元素上。
- 就是复合函数
def fn(x, y):
return x* 10 + y
def char2num(s):