def outer_function(msg):
# 外部函数定义了一个内部函数,并返回这个内部函数
def inner_function():
print(msg) # 内部函数使用了外部函数的参数或变量,形成了闭包
return inner_function
# 调用外部函数并传入参数,返回的是内部函数
my_func = outer_function("Hello, World!")
# 调用返回的内部函数
my_func() # 输出: Hello, World!
outer_function:接受一个参数 msg,并在内部定义了一个嵌套函数 inner_function。inner_function:它没有自己的参数,但它可以访问外层函数的参数 msg。这种特性使得即使外层函数已经执行完毕,内层函数仍然能够“记住”外层函数的局部变量和参数,这就是闭包的概念。outer_function("Hello, World!") 时,它返回的是 inner_function 的引用,赋值给 my_func。my_func() 来调用内层函数,此时会输出 "Hello, World!"。闭包的主要特点在于,内部函数可以记住并访问外部函数的作用域中的变量,即使外部函数已经执行完毕。
上一篇:str函数在python中的用法
下一篇:python拼接字符串
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站