lamda是python函数中的一种(另外一种是由def 所定义),它的作用是可以让我们快速的写函数,首先,在python中,一切皆对象,所以函数也是一个对象,他们都支持一个共同的操作,函数没有参数:函数名+()表示函数的调用,有参数:函数命+(参数对象),好了,介绍了关于函数的简单概念之后,下面是lamda函数的定义以及相应的例子:
定义:lamda argment1,argment2,… : expression
lamda 后面跟着表达式的变量,然后一个冒号(:),然后就是表达式
eg1:
fun = lambda x, y, z: x+y+z
print fun(1,2,3)
输出结果为:
6
这里fun是用lamda表达式的赋值,所以就相当于是函数名字,当我们给函数表达式传入相应值得时候,表达式会返回一个值,所以打印函数fun(1,2,3)的值为6。
进阶:(lamda用模仿def,调用系统方法实现print)
常规def函数:
def fun(a, b, c):
print a+b+c
fun(1,2,3) # 输出结果为6
等价lamda函数:
import sys
fun = lambda x,y,z: sys.stdout.write(str(x+y+z))
fun(1,2,3)
也可以直接写成:
import sys
import sys
(lambda x,y,z: sys.stdout.write(str(x+y+z)))(1,2,3)
结果是一样的,可以这么写的原因是lamda定义的本来就是一个表达式
总结:写这个的目的是回顾一下lamda函数,希望在下次遇到lamda函数的时候,不要看不懂是什么意思