分享

Python匿名函数 Lambda表达式作用

 nxhujiee 2018-08-17

  在Python这门优美的编程语言中,支持一种有趣的语法格式(表达式),可以让我们在单行内创建一个最小的函数python lambda匿名函数

据说是借鉴了Lisp语言中lambda表达式,它可以使用在任何需要使用函数的地方,因为没有名字所以叫做匿名函数,所以不会污染python代码的命名空间。

玩蛇网斯巴达今天就来讲一讲关于Python Lambda表达式的相关知识,提示:想要精通或者深入学习了解lambda的妙用,还需要在更多实践作业中积累经验,加入自己的理解才能更好掌握。

Python Lambda表达式

python匿名函数lambda作用

在Python语言中除了def语句用来定义函数之外,还可以使用匿名函数lambda,它是Python一种生成函数对象的表达式形式。匿名函数通常是创建了可以被调用的函数,它返回了函数,而并没有将这个函数命名。lambda有时被叫做匿名函数也就是这个原因,需要一个函数,又不想动脑筋去想名字,这就是匿名函数。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#-*- coding:utf-8 -*-
#__author__ = "www."
# 普通python函数
def func(a,b,c):
    return a+b+c
print func(1,2,3)
# 返回值为6
# lambda匿名函数
f = lambda a,b,c:a+b+c
print f(1,2,3)
# 返回结果为6

# 大家注意观察上面的Python示例代码,f = lambda a,b,c:a+b+c 中的关键字lambda表示匿名函数,
# 冒号:之前的a,b,c表示它们是这个函数的参数。
# 匿名函数不需要return来返回值,表达式本身结果就是返回值。

Python匿名函数作用

lambda是一个表达式,而并非语句

因为lambda是一个表达式,所以在python语言中可以出现在def语句所不能出现的位置上;
lambda与def语句相比较,后者必须在一开始就要将新函数命名;而前者返回一个新函数,可以有选择性的赋值变量名

lambda主体只是单个表达式,并而一个代码块

lambda与普通函数function定义方法来比较它的功能更小,它只是一个为简单函数所服务的对象,而def能处理更大型的数据任务。

为什么要使用lambda?

用python学习手册中的一段话来回答这个问题非常好“lambda有起到速写函数的作用,允许在使用的代码内嵌入一个函数的定义。在仅需要嵌入一小段可执行代码的情况 下,就可以带来更简洁的代码结构。”lambda的使用在python基础知识学习中就会遇到,但真正应用时还是在python进阶的阶段,这时需要你做更深入学习。

Lambda Python 3

Python2与Python3中lambda使用没有差别,对于单行代码函数,用lambda会让代码更简洁优美,提高性能。

以上只是玩蛇网python学习与分享平台,为大家对Python Lambda表达式的作用做了一个简单的介绍,它的使用技巧和注意事项还有很多。但不要把lambda想象的很可怕,在python中你只要把它当做是个关键字,一个用来引入表达式的语法而已。除去以上的不同之处,def和lambda可以完相同的工作,它也比你想象中更容易使用。

玩蛇网文章,转载请注明出处和文章网址:http://www./wenda/lambda.html


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多