1 '''
2 概念:不使用def这个关键字定义函数,用lambda关键字来创建匿名函数。
3 特点:
4 1、lambda 只是一个表达式,函数体比def简单的多
5 2、lambda本质是表达式,而不是代码块,仅仅只能封装最简单的逻辑
6 3、lambda函数有自己的命名空间,并且不能修改除自己的参数列表以外的
7 参数或全局命名空间的参数
8
9 格式:lambda [参数1[,参数2…参数n ]]: 表达式
10 注意:表达式:只是一条简单的语句,不能包含循环,也不能有return,
11 也不能有yield,但允许有简单的if语句。如果表达式为元组,
12 用小括号括起来。
13 '''
14 # 定义一个函数,返回传入的实参的和 (形参有两个)
15 def func1(num1, num2):
16 return num1+num2
17 print(func1(1,2))
18
19 # 匿名函数
20 a = lambda num1,num2 : num2+num1
21 print(a(2,3))
22
23 # lambda中使用if语句 if-else
24 # 语法格式:
25 # lambda [参数1[,参数2…参数n ]]: 结论1 if 表达式 else 结论2
26 # 当表达式为真时,取结论1;当表达式为假时,取结论2
27 '''
28 # 结论1 if 表达式 else 结论2
29 a = 20
30 if True:
31 a = 30 # 结论1
32 else:
33 a = 40 # 结论2
34 '''
35
36 # num num<0 num = 1 num>=0 num
37 def re(num):
38 if num < 0:
39 num = 1
40 return num
41 print(re(-2))
42 print(re(100))
43
44 b = lambda num : 1 if num<0 else num
45 print(b(200))
46 print(b(-100))
47
48
49 # 一般匿名函数只执行一次,用完就结束
50 print((lambda num : 1 if num<0 else num)(111))
51 print((lambda num : 1 if num<0 else num)(-111))