1、lambda函数基础:
lambda函数也叫匿名函数,即函数没有具体的名称,而用def创建的方法是有名称的。如下:
# 函数创建时,是需要进行命名的
def foo():
return 'beginman'
# lambda关键字创建匿名函数
lambda:'beginman'
# 保存并调用
bar = lambda:'beginman'
print bar()
lamba语法:
lambda在冒号前面多个参数,使用逗号隔开,冒号右边是返回值;lambda构建的是一个函数对象。
lambda [arg1[,arg2,arg3....argN]]:expression
2、有参数的lambda函数对象
def add(x,y):
return x+y
add2 = lambda x,y:x+y
print add2(1,2) # 3
def sum(x,y=10):
return x+y
sum2 = lambda x,y=10:x+y
print sum2(1) # 11
print sum2(1,100) # 101
3、lambda和def的区别
(1)Python lambda会创建一个简单的函数对象,但不会把这个简单的函数对象赋值给一个标识符,而def则会把函数对象赋值给一个变量。
def foo(x,y):
return x*y
(2)python lambda它只是一个表达式,而def则是一个语句。lambda表达式运行起来像一个函数,当被调用时创建一个框架对象。