文章目录
命名空间
定义
Python的命名空间的本质是一个字典,用来记录变量名称和值。字典的key是变量的名称,字典的value对于的是变量的值。例如 {‘name’:’zs’,’age’:10}
命名空间一共分为三种:局部命名空间、全局命名空间、内置命名空间
局部空间:
每个函数都有自己的命名空间,叫做局部空间,它记录了函数的变量,包括函数的参数 和局部定义的变量
全局空间:
每个模块拥有它自已的命名空间,叫做全局命名空间,它记录了模块的变量,包括函数、 类、其它导入的模块。
内置名称空间:
任何模块均可访问它,它存放着内置的函数和异常。
1. 名称空间的访问
局部命名空间使用locals()函数来访问
def func(num1,num2):
a=1
return locals()
print(func(2,3)) # {'a': 1, 'num2': 3, 'num1': 2}
全局命名空间的访问使用globals()函数访问
a=10
def func(name,age):
num=2
func(2,3)
print(globals())
2.命名空间的加载顺序
内置命名空间(程序运行前加载)->全局命名空间(程序运行中:从上到下加载)->局部命名空间(程序运行中:调用时才加载)当函数返回结果或