当前位置: 移动技术网 > IT编程>脚本编程>Python > python-作用域解析

python-作用域解析

2019年03月09日  | 移动技术网IT编程  | 我要评论

建行周旭姐弟,幸福牌鞋垫,脚浮肿的原因

局部作用域和全局作用域:局部作用域不能修改全局作用域的变量

count = 10
def outer():
    #global count 局部变量改成全局变量,global声明一下即可。就可以修改了。
    print(count) #全局变量可以在局部调用但是不可以修改。
    count+=1 #报错,
    count = 1 #这里并不是修改了全局变量count,而是重新定义了一个新的局部变量count
    print(count)

outer()

外层作用域:nonlocal

def outer():
    count=10
    def inner():
        nonlocal count #跟global作用一样,在这一层用
        count=20
    inner()
    print(count)
outer()        

小结:

1.变量查找顺序:legb

局部作用域>外层作用域>当前模块中全局>python内置作用域;

2.只有模块/类/函数能引入新作用域;

3.变量:内部作用域先声明就覆盖外部变量,不声明直接用就会使用外部作用域变量;

4.内部域修改外部域变量,全局变量用global,嵌套域变量用nonlocal。

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网