Python基础(十四): 函数作用域

2018-03-05  本文已影响10人  伯wen

一、基本概念

1、变量的作用域
2、命名空间
3、Python-LEGB

二、基础命名空间的常见变量类型

1、局部变量

2、全局变量

3、注意点

三、举例

1、闭包
def test()
    a = 10
    def inner():
        print(a)
def test()
    a = 10
    def inner():
        a = 5
        print(a)
def test()
    a = 10
    def inner():
        nonlocal a
        a = 5
        print(a)
    print(a)
    inner()
    print(a)
test()

# 打印结果:
10
5
5
2、函数中修改全部变量的值
a = 10
def test():
    a = 5
    print(a)
print(a)
test()
print(a)

# 打印结果:
10
5
10
a = 10
def test():
    global a
    a = 5
    print(a)
print(a)
test()
print(a)

# 打印结果:
10
5
5
3、函数中的变量, 只有在调用时才去查找
a = 10
def test():
    print(a)
    print(b)
    
b = 15
test()

# 打印结果:
10
15
上一篇下一篇

猜你喜欢

热点阅读