作用域
作用域分为:
在函数内部的作用域叫做局部作用域,局部作用域中的变量叫做局部变量
非函数内部的作用域叫做全局作用域,全局作用域中的变量叫做全局变量
局部作用域可以使用全局变量,全局变量不能试用局部变量
变量的使用规则: 从内向外,找到后返回
- def fn():
- global 变量 # 现在改变量为全局变量
- # 注意:不可以在函数中先使用一个全局变量后在用该变量命名局部变量
- 报错:
- a = 1
- def fn():
- print(a) # 全局变量
- a += 1 # 这个a是局部变量
-
复制代码
- 在函数或其他作用域中使用或修改上一层(非全局)变量nonlocal
- a = 1
- def fn1():
- a = 2
- def fn2():
- a = 3 # a = 4
- def fn3():
- nonlocal a
- a = 4
- 报错:
- b = 1
- def fn():
- nonlocal b
复制代码 命名空间
- 命名空间: python中的所有变量都被存储在命名空间内,每个作用域都有一个命名空间
- 命名空间本质就是一个字典,是用来存储变量的字典
- locals():获得挡前作用域的命名空间
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |