递归函数
- 函数内部自己调用自己
- 必须有终止条件(即必须有出口)
等价于
匿名函数
语法:lambda [形参1], [形参2], ... : [单行表达式] 或 [函数调用]
优点:
- 提高函数的通用性
- 减少代码量
- 函数可以做为参数传递给另外一个函数, 可以使得函数的实现更加通用.
- 匿名函数也可以作为参数传递给另外一个函数, 对于只需要用到一次函数, 可以通过匿名函数减少代码量.
# 不带参数
my_fun = lambda : 10 + 20
# 带参数
my_add = lambda a, b: a + b
my_add()
#可变参数:*args
fn1 = lambda *args: args
print(fn1(10, 20, 30)) #这里的可变参数传入到lambda之后,返回值为元组
fn1 = lambda **kwargs: kwargs
print(fn1(name='python', age=20)
#默认参数
fn1 = lambda a, b, c=100: a + b + c
print(fn1(10, 20))
注意:
- lambda表达式的参数可有可无,函数的参数在lambda表达