ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## 工厂函数 工厂函数有时也叫闭合(closure),他能够记住嵌套作用域变量值的函数,尽管那个作用域已经不存在了。 ```python def maker(N): def action(X): return X ** N return action ``` f = maker(2) --> 此处f记住了N = 2 --> f(3) = 9 工厂函数每次调用都得到了自己状态信息的集合。 ### 使用默认参数来保留嵌套作用域的状态 函数定义时尽量避免嵌套,可以使用第2种方法,结构更明确 ```python def f1(): x = 88 def f2(x=x): print(x) f2() ``` f1() 打印 88 **应转化为** ```python def f1(): x = 88 f2() def f2(x): print(x) ```