Python中的lamda函数

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函数的时候,不要看不懂是什么意思

你可能感兴趣的:(python)