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

 ⑦列表内字典数据排序