Lambda表达式本质上是一种匿名函数,匿名函数也是函数,也函数类型,也可以创建函数对象。
定义:lambda 参数列表:lambda体
lambda 是关键字声明,这个一个lambda表达式,“参数列表” 与函数的参数列表是一样的,但不需要小括号括起来,冒号后面的 Lambda体 ,Lambda表达式的主要代码在此处编写,类似于函数体。
lambda体部分不能是一个代码块,不能包含多条语句,只能有一条,语句会计算一个结果返回给表达式,但是与函数不同的是,不需要使用return语句返回。lambda 只能处理一些简单的计算。
def calculate(opr):
if opr == '+':
return lambda a, b: (a + b)
else:
return lambda a, b: (a - b)
f1 = calculate('+')
f2 = calculate('-')
print(f1)
print("10 + 5 = {0}".format(f1(10, 5)))
print("10 - 5 = {0}".format(f2(10, 5)))
print(calculate('+')(8, 5))