闭包

来源:互联网 发布:淘宝联盟社区 编辑:程序博客网 时间:2024/04/30 10:04

 

fs = []def a():    print "a"    return 1def b():    print "b"    return 2def c():    print "c"    return 3    def fun():      fs.append(a)    fs.append(b)    fs.append(c)    return fsf1,f2,f3 = fun()print f1()print f2()print f3()


结果为

a
1
b
2
c
3

说明f1,f2,f3 = fun()中,f1取的是fs的第一个值

 

def count():    fs = []    for i in range(1, 4):        def f():             return i*i        fs.append(f)    return fsf1, f2, f3 = count()


这里的f1,就是fs的第一个函数,f2为第二个函数, 都是 def f(): return i*i ,因为i在执行count函数后,i 的值是3,所以f1, f2, f3的值都是9

0 0
原创粉丝点击