探索 Python 的闭包:从概念到实践与 LEGB 规则支持 - 实践

探索 Python 的闭包:从概念到实践与 LEGB 规则支持

闭包(Closure)是 Python 中一个非常有趣且功能强大的概念,它不仅展示了语言设计的精妙之处,还为开发者提供了灵活、高效的编程器具。在本文中,我们将深入探讨闭包的原理、实际应用案例以及 Python 的作用域规则(LEGB)如何支持闭包的实现。


什么是闭包?

闭包是一个函数,它保留了对其定义环境中变量的引用,即使这些变量所在的作用域已结束。换句话说,闭包允许函数“记住”它们所处的环境。

闭包的三个条件

  1. 必须有嵌套函数(一个函数内部定义另一个函数)。
  2. 嵌套函数必须引用其外部函数中的变量。
  3. 外部函数的返回值必须是嵌套函数。

来看一个简单的例子:

def make_multiplier(factor):
def multiplier(number):
return number * factor
return multiplier
double = make_multiplier(2) # 创建一个闭包,记住 factor=2
print(double(5)) # 输出 10

在这个例子中,multiplier 是一个闭包,它记住了外部函数 make_multiplier 的局部变量 factor


posted @ 2025-08-04 12:52  yjbjingcha  阅读(9)  评论(0)    收藏  举报