闭包的定义
闭包的定义
在函数嵌套的前提下,内部函数使用了外部函数的变量,并且外部函数返回了内部函数,我们把这个使用外部函数变量的内部函数成为闭包
构成闭包的条件
- 在函数嵌套(函数里面定义函数)的前提下
- 内部函数使用了外部函数的变量(还包括外部函数的参数)
- 外部函数返回了内部函数
示例代码
# 构成闭包的条件:
# 1. 在函数嵌套(函数里面定义函数)的前提下
def func_out(num1):
def func_inner(num2):
# 2. 内部函数使用了外部函数的变量(还包括外部函数的参数)
num = num1 + num2
print(f'现在的值: {num}')
# 3. 外部函数返回了内部函数
return func_inner
# 创建闭包实例
f = func_out(10)
# 执行闭包
f(1) # 现在的值: 11
f(2) # 现在的值: 12