过程式编程
Imperative Programming – 指令式编程
函数式编程
Declarative Programming – 声明式编程
函数之间互不依赖,函数没有状态,只是一个工具
函数之间通过参数和return传递信息
用map、reduce、filter等可以代替循环、分支等,优化风格
map(lambda x: int(x), ["1", "2", "666"])
reduce(lambda x, y: x+y, num)
filter(lambda x: x>0, num)
可以将一系列要做的事连成Pipeline:
def pipeline_func(data, fns):
return reduce(lambda a, x: x(a),
fns,
data)
pipeline_func(nums, [even_filter,
multiply_by_three,
convert_to_string])