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