def outer_function(x):
# 外部函数定义了一个参数 x
def inner_function(y):
# 内部函数可以访问外部函数的参数和变量
return x + y
# 返回内部函数,形成闭包
return inner_function
# 调用外部函数并传入参数,返回一个闭包
closure = outer_function(10)
# 调用闭包并传入参数
result = closure(5)
print(result) # 输出 15
outer_function):接收一个参数 x,并在其内部定义了另一个函数 inner_function。inner_function):可以访问外层函数的参数 x 和局部变量(如果有的话)。它接收一个参数 y,并返回 x + y 的结果。outer_function 被调用时,它返回的是 inner_function 函数对象。这个返回的函数对象仍然能够访问 outer_function 中的参数 x,即使 outer_function 已经执行完毕。这种特性使得 inner_function 成为了一个闭包。outer_function(10) 创建了一个闭包 closure,然后调用 closure(5),最终输出结果为 15。闭包的主要作用是允许函数记住并访问它的词法作用域,即使这个函数是在它的词法作用域之外执行的。
上一篇:python 获取文件名称
下一篇:python加密代码
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站