学习5: 闭包
2017-02-07 17:36 一方书斋 阅读(178) 评论(0) 编辑 收藏 举报闭包需满足三个条件: 1. 是嵌套函数;2. 内部函数使用了外部函数的变量;3. 外部函数返回内部函数
例如1:
def fun1(): a=1 def fun2(): b = a+10 print b return fun2 print callable(fun1) my_fun2 = fun1() my_fun2()
例如2:
def fun1(a): def fun2(b): c = a+b print c return fun2 my_fun2 = fun1(3) my_fun2(8)
例如3(注意点):
def fun1(a): def fun2(b): a = a+b print a return fun2 my_fun2 = fun1(3) my_fun2(8)
这段程序的本意是要通过在每次调用闭包函数时都对变量a进行递增的操作,但是会出现找不到变量a的错误。