# -*- coding:UTF-8 -*-
# 匿名函数
# 匿名函数是一个lambda表达式,格式: lambda 参数,参数,参数... : 要返回的值
print map(lambda x: x * x, [1, 2, 3, 4, 5, 6, 7, 8, 9])
# [1, 4, 9, 16, 25, 36, 49, 64, 81]
print reduce(lambda x,y: x*y, [1,2,3,4,5])
# 120
# 上面的lambda表达式相当于
def value(x,y):
return x*y
print reduce(value, [1,2,3,4,5])
# 可以把匿名函数赋值给一个变量,再利用变量来调用该函数:
f = lambda x: x * x
print f
print f(5)
# <function <lambda> at 0x10eabe140>
# 25
# 也可以把匿名函数作为返回值返回,比如:
def build(x, y):
return lambda: x * x + y * y
# 该函数返回一个不接收参数的lambda表达式,所以需要按下面方式调用
print build(2, 3)()
# 13