Python3——作用域

在Python中,一个函数就是一个作用域,局部变量就是放在其用域中

代码定义完成后,作用域已经生成,作用域链向上查找

age = 18

def func1():
    age = 73

    def func2():
        print(age)  #调用age,本级没有向上查找

    return func2    #函数func1()返回函数func2()的名字func2,而不是func2()这个函数

a = func1()  #此时的a就等于函数func1()返回的func2()的函数名func2
print(a)
a()   #那a再加上括号就等同于func2()这个函数

 结果:

<function func1.<locals>.func2 at 0x0000020292E646A8>
73

 

posted @ 2018-03-18 11:28  Class.isInstance()  阅读(640)  评论(0编辑  收藏  举报