一 序
本文继续Python学习。
二 闭包
如果在一个函数内部,嵌套了函数,这个内部函数对(非全局作用域)外部作用域的变量进行引用,那么这个内部函数称为闭包。
简单理解就是:返回值是函数的函数。
看个例子:
注意,不是返回的6,6,6.是应为每次print的时候并不是从foo从哪个头开始运行,而从之前的p接着运行。
zhangsan就相当于do,可以传参数what.
三 装饰器
接着上面的闭包,先来看个例子,就是把函数当做参数传给另一个函数。
换个写法,用@ 来运行之前的代码,@就是把当前的函数写的
带参数的装饰器,以log为例子:其中**kwargs是为了适配key:value的形式