fu = lambda :1
print(fu())
print((lambda :1)()) # lambda 表达式,整体作为一个匿名函数,后面加()就是调用 ,执行。



v = [lambda :x for x in range(10)]   # lambda 表达式 ,是定义匿名函数,并不是执行,在列表推导式生成列表过程中
# 每一次遍历过程中,x 并不替换,且 x 已在for 循环中定义 ,是全局变量,所
# 以lambda 表达式中引用不会报错,当列表推导式执行完毕,产生列表,x的值已经为9
print(v) : 打印出一个含有十个匿名函数的列表。
print(v[0]) :打印出列表中的第一个匿名函数。
print(v[0]()) : 执行第一个匿名函数,输出9
print(v[1]()): 执行第二个匿名函数,输出也为9

相当于以下:
x = 13
def fun1():
return x
 
posted on 2018-08-22 20:56  yellwonfin  阅读(158)  评论(0编辑  收藏  举报