探索 Python 的闭包:从概念到实践与 LEGB 规则支持
闭包(Closure)是 Python 中一个非常有趣且功能强大的概念,它不仅展示了语言设计的精妙之处,还为开发者提供了灵活、高效的编程工具。在本文中,我们将深入探讨闭包的原理、实际应用案例以及 Python 的作用域规则(LEGB)如何支持闭包的实现。
什么是闭包?
闭包是一个函数,它保留了对其定义环境中变量的引用,即使这些变量所在的作用域已结束。换句话说,闭包允许函数“记住”它们所处的环境。
闭包的三个条件:
- 必须有嵌套函数(一个函数内部定义另一个函数)。
- 嵌套函数必须引用其外部函数中的变量。
- 外部函数的返回值必须是嵌套函数。
来看一个简单的例子:
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。

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



