【Python】Python闭包 代码举例讲解

Python闭包(closure)是嵌套函数的一种特殊用法,它允许内嵌函数访问并操作外部函数的变量。实现闭包的几个要点:

  1. 必须有嵌套的内函数,该内函数必须引用外部函数的变量。
  2. 将内函数作为返回值返回。
  3. 返回的内函数仍可访问外函数定义的非全局变量。
    示例:
## python www.itzhimei.com 代码
def outer_func():
    x = 'Hello'

    def inner_func():
        print(x)

    return inner_func

my_func = outer_func()
my_func() # Prints 'Hello'

解释:

  • outer_func()定义了变量x和内嵌函数inner_func()
  • inner_func()打印变量x,x不是全局变量
  • 将inner_func()作为返回值返回
  • inner_func()仍可访问外函数的x

应用:

  1. 实现数据隐藏和封装
  2. 避免全局变量的使用
  3. 定义工厂函数等

闭包是一个非常强大和有用的技术,帮助我们实现一些编程模式。