关于命名空间和闭包

关于命名空间和闭包

def greeting_conf(prefix):
    def greeting(name):
        print prefix, name
    return greeting
mGreeting = greeting_conf("Good Morning")
mGreeting("Wilber")  # Good Morning Wilber
mGreeting("Will")  # Good Morning Will

从结构上来看闭包就是在一个函数内嵌套了一个函数,(闭包不是函数),外面这个函数return里面函数名字,里面的函数要使用外面这个函数的变量。(为什么能用外面函数变量呢?参考命名空间)