Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

python闭包

作者:蓝梦月影   发布日期:2025-12-11   浏览:73

def outer_function(msg):
    # 外部函数定义了一个内部函数,并返回这个内部函数
    def inner_function():
        print(msg)  # 内部函数使用了外部函数的参数或变量,形成了闭包
    return inner_function

# 调用外部函数并传入参数,返回的是内部函数
my_func = outer_function("Hello, World!")

# 调用返回的内部函数
my_func()  # 输出: Hello, World!

解释说明:

  1. 外层函数 outer_function:接受一个参数 msg,并在内部定义了一个嵌套函数 inner_function
  2. 内层函数 inner_function:它没有自己的参数,但它可以访问外层函数的参数 msg。这种特性使得即使外层函数已经执行完毕,内层函数仍然能够“记住”外层函数的局部变量和参数,这就是闭包的概念。
  3. 返回值:外层函数返回的是内层函数对象,而不是直接调用内层函数。因此,当你调用 outer_function("Hello, World!") 时,它返回的是 inner_function 的引用,赋值给 my_func
  4. 调用闭包:最后通过 my_func() 来调用内层函数,此时会输出 "Hello, World!"

闭包的主要特点在于,内部函数可以记住并访问外部函数的作用域中的变量,即使外部函数已经执行完毕。

上一篇:str函数在python中的用法

下一篇:python拼接字符串

大家都在看

python时间格式

pythoneval函数用法

python读取文件路径

staticmethod在python中有

python开发windows应用程序

python中len是什么意思

python ord和chr

python中的yield

python自定义异常

python判断路径是否存在

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站