python学习之闭包

def outer():
a=1
def inner():
b=2
print(b+a)
return inner()

outer()

1.内部函数引用了外部函数变量,那内部函数就是闭包。
2.外部函数定义的变量,由内部函数引用或使用,该变量称为自由变量
3.对outer内部的函数inner来说,参数a既不是它的参数,也不是它的局部变量,而是它的自由变量。
该自由变量可以被inner所引用,即使已经离开了创造它的函数outer,也不例外。

包一层一层的嵌套,闭封装数据(变量),变量先当前层取值,当前层没有向上一层找。

posted on 2020-03-28 16:27  秋雨的蝴蝶  阅读(123)  评论(0编辑  收藏  举报