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
。闭包的主要作用是允许函数记住并访问它的词法作用域,即使这个函数是在它的词法作用域之外执行的。
上一篇:dict python
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站