闭包三要素:
- 函数嵌套, 即外部函数嵌套一个内部函数;
- 外部函数返回内部函数引用;
- 内部函数使用外部函数的变量或者形参。
闭包范例:
首先需要明确:函数名的本质是变量名,可以被赋值,给别的变量赋值,做参数传递,做返回值。
闭包:一个嵌套函数,外部函数返回内部函数引用,内部函数使用外部函数的局部自由变量。
def travel():
apple = "苹果"
def apples():
print(apple)
return apple
return apples
fun1 = travel()
a = fun1() # 函数外部访问到了函数的局部变量
闭包的作用:
- .让一个变量常驻内存
- .保护变量不被修改
闭包的好处
- 闭包不是必须的;
- 没了闭包,python的功能一点不会被影响;
- 有了闭包,只是提供给你一种额外的解决方案。