Python_匿名函数和高阶函数

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)
总结: 匿名函数可以作为参数给另外一个函数使用,并且还能简化代码函数也是能够作为参数给其他函数使用的

相关推荐