python函数嵌套笔记

关于函数内嵌函数作用域的笔记:

def test():

    i=0

    def a():

        print locals()

    a()

    print i

 

test()

这段,locals()的值为空,说明内嵌的a函数没有默认引入i

def test():

    i=0

    def a():

        print locals()

        print i

    a()

    print i

 

test()

这段,locals()有了i的字典,说明解释器自动引入了i

def test():

    i=0

    def a():

        i+=1

        print locals()

        print i

    a()

    print i

 

test()

这段出错,提示i引用在了i声明之前

内部函数可以引用外部函数变量,暂时没找到修改外部函数变量值方法

你可能感兴趣的:(python)