1_2 lambda表达式

 1 """lambda表达式"""
 2 
 3 """
 4     定义函数的语法格式:
 5 def 函数名([形参1,形参2, ...]):
 6     函数体
 7     
 8     当函数体中只有一行return语句时,函数的定义可以用lambda表达式代替
 9 lambda [形参1,形参2, ...]: 关于形参的表达式
10 
11     与函数相比,lambda表达式有以下特点:
12     1、没有函数名
13     2、没有关键字def
14     3、没有小括号
15     4、关于形参的表达式相当于函数的返回值
16     所以lambda表达式是匿名简化版的函数
17 """
18 def add(num1, num2):
19     return num1 + num2
20 
21 print(add(1, 2))        # 3
22 
23 lambda num1, num2: num1+num2
24 print((lambda num1, num2: num1+num2)(1, 2))     # 3
25 
26 """
27     Python中,一切皆为对象,所以lambda表达式也是对象,从而也像函数一样可以赋值给变量。
28 """
29 le = lambda num1, num2: num1+num2
30 print(le(1, 2 ))        # 3
31 
32 """
33     因为lambda表达式是匿名简化版函数,所以,lambda可以作为函数的实参
34 """
35 result = map(lambda x: x*x, [1,2,3,4])
36 # [1, 4, 9, 16]
37 print(list(result))
38 
39 """
40     因为lambda表达式是匿名简化版函数,所以,lambda可以作为函数的实参
41 """
42 
43 def do_sth():
44     return lambda num1, num2:num1+num2
45 
46 print(do_sth()(1, 2))       # 3
原文地址:https://www.cnblogs.com/sruzzg/p/13122364.html