python——函数 12、作用域

顺序:局部作用域->全局作用域
全局作用域:
全局作用范围:内置名称空间与全局名称空间都属于全局作用范围在文件任意位置都可以被引用
a=1
def foo():
    print(a)
    def foo2():
        print(a)
    foo2()
def foo3():
    print(a)
foo()
foo3()
View Code
局部作用域: 局部名称空间属于局部作用范围只在函数内部可以被引用
def x1():      #todo 从内往外看
    a=10
    def x2():
        a=20
        def x3():
            a=30
            print(a)
        x3()
    x2()
x1()
#改一下
def x1():
    a=10
    def x2():
        a=20
        def x3():
            a=30
            print(a)
        x3()
    x2()
x1()
#todo 将a=30注释掉, 因为局部是从内往外,那么会输出20
#todo 同理要是将a=20也注释掉那么会输出10
View Code


 


猜你喜欢

转载自www.cnblogs.com/StevenSunYiwen/p/8921283.html