一、什么是高阶函数
函数作为实参传递给函数的或者函数名为返回值的函数称为高阶函数。
1)实参传递给函数
2)函数名为返回值
二、系统内置的高阶函数
1、map函数:
至少需要两个参数,第一个参数是函数名,第二个参数是序列(str,list,tuple);
map功能:把序列中的每一个元素作为参数,传给函数进行处理
例子:求数的平方
2、reduce函数:
至少需要两个参数,第一个参数是函数名<注意,函数名必须传递两个参数>,第二个参数是序列(str,list,tuple);
reduce功能:把序列中的前两个参数传给函数进行处理
例子:求和
3、filter函数:
至少需要两个参数,第一个参数是函数名<注意,函数的返回值必须是True或False>,第二个参数是序列(str,list,tuple);
filter功能:把序列中执行函数的返回值为True的保留,为False丢弃
例子:1)求偶数
2)求质数
三、应用
1、类型转换:转换为指定类型
2、名称规范:首字母大写
3、阶乘:求n个数的乘积
4、删除1~100以内的质数
四、sorted函数
1、按字母顺序正序排序;
mp比较条件后面跟函数的要求
1)函数需要传递两个参数
2)函数返回值为1,-1或0
2、1~100的数随机出现;正序排序和倒序排序
五、匿名函数
匿名函数格式:lambda 形式参数:返回值
例子:
1)阶乘和求偶数
2)形式参数、默认参数、可变参数、关键字参数
3)用列表形式
显示价格最高的商品名称
显示商品数量最少的商品名称和数量
4)用字典形式
显示价格最高的商品名称
显示商品数量最少的商品名称和数量
5)移动数组中的0;这里牵扯到默认排序先0,后1,所以if后面要x == 0 才可以将0排至末尾