闭包

关于闭包:
1、有一个外部环境的变量
2、内部函数对外部作用域的引用(不是全局的)

def outer():
    x = 10#x是外部环境的一个变量
    def inner():#inner内部函数,对外部的作用域一个引用,所以内部函数inner是闭包
        print x
    return inner

f = outer()#返回的是inner函数地址
f()#执行的是inner函数
inner()#局部变量,不可以这样调用

def outer(x): #x是外部环境的一个变量
    def inner():#inner是一个内部函数,并引用了外部作用域
        print x
    return inner
原文地址:https://www.cnblogs.com/guog1/p/8401595.html