闭包可以返回它所拥有的数据的引用。下面是一个示例:
def outer_function():
data = "Hello, World!"
def inner_function():
return data # 返回data的引用
return inner_function
closure = outer_function()
print(closure()) # 输出:Hello, World!
在这个示例中,outer_function()
返回了一个内部函数inner_function()
。这个内部函数可以访问外部函数中的变量data
,并返回它的引用。当我们调用闭包closure
时,它会返回data
的值,即"Hello, World!"。
这种方式可以用于创建一个函数工厂,每个函数都有自己的数据,但是共享相同的代码逻辑。
下一篇:闭包如何保持同名变量的区分?