闭包的定义

闭包的定义

在函数嵌套的前提下,内部函数使用了外部函数的变量,并且外部函数返回了内部函数,我们把这个使用外部函数变量的内部函数成为闭包

构成闭包的条件

  1. 在函数嵌套(函数里面定义函数)的前提下
  2. 内部函数使用了外部函数的变量(还包括外部函数的参数)
  3. 外部函数返回了内部函数

示例代码

# 构成闭包的条件:
# 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