码迷,mamicode.com
首页 > 编程语言 > 详细

Python_匿名函数和高阶函数

时间:2020-02-26 20:52:40      阅读:65      评论:0      收藏:0      [点我收藏+]

标签:pre   其他   使用   type   学习   参数   简化   pytho   高阶函数   

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

Python_匿名函数和高阶函数

标签:pre   其他   使用   type   学习   参数   简化   pytho   高阶函数   

原文地址:https://www.cnblogs.com/tracydzf/p/12368793.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!