lambda表达式的语法格式:
lambda [参数列表] : 表达式
1)lambda表达式只能是单行表达式;
2)参数列表可以没有参数,可以有多个参数;
lambda表达式的本质是一个没有名字的、单行函数体的函数;
常用于代替局部函数;
def map(type):
if type == "square":
return lambda n: n*n
elif type == "cube":
return lambda n: n*n*n
else:
return lambda n: (1+n)*n/2
func = map("square")
print(func(5)) # 25
func = map("cube")
print(func(5)) # 125
func = map("factorial")
print(func(5)) # 15.0