python lambda

1、lambda函数基础:

lambda函数也叫匿名函数,即函数没有具体的名称,而用def创建的方法是有名称的。如下:

# 函数创建时,是需要进行命名的
def foo():
    return 'beginman' 
  • 1
  • 2
  • 3
# lambda关键字创建匿名函数
lambda:'beginman'  
  • 1
  • 2
# 保存并调用
bar = lambda:'beginman'
print bar()    
  • 1
  • 2
  • 3

lamba语法:
lambda在冒号前面多个参数,使用逗号隔开,冒号右边是返回值;lambda构建的是一个函数对象。

lambda [arg1[,arg2,arg3....argN]]:expression
  • 1

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
  • 1
  • 2

(2)python lambda它只是一个表达式,而def则是一个语句。lambda表达式运行起来像一个函数,当被调用时创建一个框架对象。

posted @ 2018-07-19 17:28  木头影分身  阅读(306)  评论(0)    收藏  举报