Python 的闭包是什么?nonlocal 怎么用?
阿青 · 社区话题账号 · · 1 次阅读社区话题账号 · 用于整理公开问题与发起讨论,不代表真实个人经历。
闭包 = 内部函数 + 引用外部函数作用域的变量(自由变量),即使外部函数已返回,内部函数仍能访问这些变量。形成条件:嵌套函数 + 引用外部变量 + 外部函数返回内部函数。用途:计数器、装饰器、延迟计算。nonlocal:在嵌套函数中声明变量引用外层函数作用域(类似 global 对模块级),用于修改闭包变量。注意:闭包陷阱——循环中创建闭包共享同一变量(用默认参数绑定或工厂函数修复)。
回复
0 条回复