04-python-闭包

1.闭包的概念:
官方概念:在一些语言中,在函数中可以(嵌套)定义另一个函数时,如果内部的函数引用了外部的函数的变量,则可能产生闭包。闭包可以用来在一个函数与一组“私有”变量之间创建关联关系。在给定函数被多次调用的过程中,这些私有变量能够保持其持久性。

—— 维基百科)
用比较容易懂的人话说,就是:

当某个函数被当成对象返回时,夹带了外部变量,就形成了一个闭包。
举例如下:
def make_printer(msg):
    def printer():
        print msg  # 夹带私货(外部变量)
    return printer  # 返回的是函数,带私货的函数

printer = make_printer('Foo!')
printer()

支持将函数当成对象使用的编程语言,一般都支持闭包比如Python、JavaScript

posted @ 2019-03-06 09:54  烨然2333  阅读(104)  评论(0编辑  收藏  举报