16.递归函数和匿名函数(lambda)
1. 了解递归
递归是一种编程思想,他的应用场景:
1. 在我们日常开发中,如果想要遍历一个文件夹下面所有的文件,通常会使用递归来实现。 2. 在后续的算法课程中,很多算法都离不开递归,例如:快速排序
2.递归的特点
1. 函数内部自己调用自己 2. 必须有出口
3.递归---回顾函数返回值
4.递归代码的实现
应用: 3以内数字累加和
5. 递归执行流程
6. 了解lambda表达式
如果一个函数有一个返回值,并且只有一句代码,可以使用lambda简化
6.1 lambda语法
lambda 参数列表: 表达式
注意:
● lambda表达式的参数可有可无,函数的参数在lambda表达式中完全适用
● lambda表达式能接收任何数量的参数但只能返回一个表达式的值。
6.2 体验lambda
注意: 直接打印lambda表达式,输出的是lambda内存地址
6.3 lambda计算两个数字累加和
6.4 lambda参数形式
①无参数
lambda: 表达式
②一个参数
lambda 参数:表达式
③默认参数
lambda key=value: 表达式
不定长参数
④可变参数:*args
lambda *args: 表达式
注意: 这里的可变参数传入到lambda之后,返回值是元组
⑤可变参数: **kwargs
lambda **kwargs: 表达式
⑥带判断的lambda
⑦列表内字典数据排序