首页 > 编程语言 > 详细

python的lambda表达式

时间:2019-12-20 22:52:00      阅读:71      评论:0      收藏:0      [点我收藏+]

lambda表达式:匿名函数,它与显式函数def不一样,实质上可以当做一个表达式。

它是为处理简单的函数而出现的,其参数可选,返回对象,可以被def嵌套使用

1. 作为表达式

# 1. 作为表达式
add_func = lambda x,y : x+y  # x,y相当于传参,x+y属于函数体,返回的值就是x+y的结果
aa = add_func(1,2)
print(aa)  #输出为3
bb = add_func(who are ,you?)
print(bb)  #输出:who are you?

2. 作为函数的嵌套部分

# 2. 函数嵌套得到表达式
def get_line(a,b):
    return lambda x : a*x+b
y = get_line(1,1)  #此时y是一个函数 y=ax+b
print(y(3))    # 输出为4

3. 不带参数的函数

ss = lambda:where are you come from?
print(ss())   #不带参数调用,输出为:where are you come from?

4. 用于选择函数

list_func = [lambda x:x+10, lambda y:y+100, lambda z:z+1000]  #其中的每个元素都是一个小函数,可以随时调用
ff_result = []
for ff in list_func:
    ff_result.append(ff(1000))
print(ff_result)   #输出:[1010, 1100, 2000]

 

特点:

# 1. 简洁
# 2. 在不复杂的函数中,lambda能提高性能
# 3. lambda拥有自己的命名空间,除了自己的参数之外,不能访问其他参数

# 更pythonic的用法在 map、reduce、filter、sorted等函数式编程的函数中,因为它们都支持函数作为参数

参考:

https://blog.csdn.net/qq_39226755/article/details/86773171

https://www.cnblogs.com/hf8051/p/8085424.html

python的lambda表达式

原文:https://www.cnblogs.com/qi-yuan-008/p/12075151.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!