“专业人士笔记”系列目录:创帆云:Python成为专业人士笔记--强烈建议收藏!每日持续更新!zhuanlan.zhihu.com
概述
函数式编程将问题分解为一组函数,理想情况下,函数只接受输入并产生输出,不具有影响给定输入产生的输出的任何内部状态。下面是许多语言通用的函数技术:例如lambda、map、reduce和filter
Lambda 匿名函数
用lambda定义的匿名内联函数:lambda的参数定义在冒号的左侧。函数体定义在冒号的右侧,运行函数体的结果将会隐式返回。
s = lambda x: x * x
print(s(2))
#输出: 4 ,计算过程: 传入2, 计算2*2
Map 映射函数
Map接受一个函数参数和一个集合类型参数;它首先创建一个新的空集合,对原始集合中的每个项运行函数,并将每个返回值插入新集合中;最终返回新的集合类型变量
name_lengths = map(len, ["Mary", "Isla", "Sam"])
print(list(name_lengths))
#注意:在python3中,map函数返回的为迭代器对象,可以强制转成任何集成类型
Reduce 归约函数
Reduce接受一个函数参数和一个集合类型参数。它返回一个通过集合参数中两两计算后的值
这是一个简单的reduce函数使用,它返回集合中两两计算的和 :
from functools import