多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
## 工厂函数 工厂函数有时也叫闭合(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) ```