ToB企服应用市场:ToB评测及商务社交产业平台
标题:
python 作用域与命名空间
[打印本页]
作者:
惊雷无声
时间:
2022-9-17 08:39
标题:
python 作用域与命名空间
作用域
作用域分为:
全局作用域
局部作用域
在函数内部的作用域叫做
局部作用域
,局部作用域中的变量叫做
局部变量
非函数内部的作用域叫做
全局作用域
,全局作用域中的变量叫做
全局变量
局部作用域可以使用全局变量,全局变量不能试用局部变量
变量的使用规则: 从内向外,找到后返回
函数作用域中命名全局变量global
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():获得挡前作用域的命名空间
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4