04-python-闭包
1.闭包的概念:
官方概念:在一些语言中,在函数中可以(嵌套)定义另一个函数时,如果内部的函数引用了外部的函数的变量,则可能产生闭包。闭包可以用来在一个函数与一组“私有”变量之间创建关联关系。在给定函数被多次调用的过程中,这些私有变量能够保持其持久性。
—— 维基百科)
用比较容易懂的人话说,就是:
当某个函数被当成对象返回时,夹带了外部变量,就形成了一个闭包。
举例如下:
def make_printer(msg):
def printer():
print msg # 夹带私货(外部变量)
return printer # 返回的是函数,带私货的函数
printer = make_printer('Foo!')
printer()
支持将函数当成对象使用的编程语言,一般都支持闭包比如Python、JavaScript
如果有一天我们淹没在茫茫人海中庸碌一生,那一定是我们没有努力活得丰盛