amazingbo 2020-02-26
匿名函数: 就是没有名字的函数,直观理解使用lambda关键字定义的函数称为匿名函数
学习匿名函数的目的: 通过匿名函数可以简化普通函数的代码实现,匿名函数可以让的代码变的更少
匿名函数的注意点:1. 匿名函数也是属于函数,调用匿名函数的时候也需要加上小括号2. 匿名函数只能一行代码3. 匿名函数的返回值不需要加return关键字
匿名函数的语法格式:lambda 形参1, 形参2,...: 返回的数据或者调用其他函数
使用new_func这个变量,保存定义好的匿名函数,此时new_func其实可以认为是函数名
new_func = lambda x, y: x + y
调用匿名函数
value = new_func(1, 2) print("结果为:", value)
扩展:
def sum_num(num1, num2): result = num1 + num2 return result
可以给函数设置别名
my_func = sum_num result = my_func(1, 2) print(result) print("查看函数的类型sum_num:", type(sum_num)) print("查看函数的类型new_func:", type(new_func))
匿名函数主要是来简化函数代码的,不能实现复杂的功能,比如: 实现for循环就不能用匿名函数来完成扩展: 没有参数的匿名函数
new_func1 = lambda: print("我是么有参数的匿名函数") new_func1()
匿名函数的应用场景:1. 简化函数的功能代码2. 匿名函数可以作为参数给另外一个函数使用,后续高阶函数经常结合匿名函数来使用,目的:简化函数代码
func: 接收一个用于计算的函数 def calculate_value(func): num1 = 1 num2 = 2 假如:实现加法操作,给我一个加法操作的函数,。。。。 result = func(num1, num2) print(result) def add_num(v1, v2): return v1 + v2
这样写,为了穿一个函数,需要自己显示定义一个普通函数
calculate_value(add_num)
对以上代码进行简化,使用匿名函数作为参数给另外一个函数使用
calculate_value(lambda v1, v2: v1 + v2) calculate_value(lambda v1, v2: v1 - v2)
总结: 匿名函数可以作为参数给另外一个函数使用,并且还能简化代码函数也是能够作为参数给其他函数使用的