摘要:
![Python:闭包和保存自由变量](https://img2020.cnblogs.com/blog/1784958/202111/1784958-20211103161404109-284743981.png)
有时我们会定义只有一个方法(除了"__init__()"之外)的类,而这种类可以通过使用闭包(closure)来替代。闭包是被外层函数包围的内层函数,它能够获取外层函数范围中的变量(即使外层函数已执行完毕)。因此闭包可以保存额外的变量环境,用于在函数调用时使用。一般来说,闭包内层定义的变量对外界来说是完全隔离的,如果想要访问和修改它们,需要编写存取函数(accessor function, 即getter/setter方法),并将它们做为函数属性附加到闭包上来提供对内层变量的访问支持。
阅读全文