Python中如何使用闭包

2024-11-04 09:51:42

1、闭包通常需要满足三个条件:一是函数嵌套,在一个函数的内部定义了另一个函数。二是内部的函数里使用了外部函数的局部变量。三是外部函数的返回值是内部函数的引用。下图就是典型的闭包使用示例。

Python中如何使用闭包

2、从下图可以看到,外部函数outer的返回值就是内部函数inner,将返回结果保存至变量fun,fun的类型是function

Python中如何使用闭包

3、另外,outer中的print仅在运行outer函数时执行过一次,之后执行fun函数(也就是inner函数)并未执行outer函数内的print代码

Python中如何使用闭包

4、在inner函数中,因为要修改外部函数的局部变量,因此需要在前面用nonlocal蠹韦睥谚声明。可以看到每次执行fun都会将x加10,且没有其他途径可以修改x,实现了数据保护功能。

Python中如何使用闭包
猜你喜欢