1.locals获取当前作用域所有的变量
(1)全局空间
locals在函数外,获取的是打印之前的所有全局变量
a=1
b=5
res = locals()
def func(a):
a+=1
return a
c=5
print(res)
打印结果为字典形式:
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x000001F617FE6CD0>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': 'E:\\studying\\研一上\\vision\\Python\\return.py', '__cached__': None, 'a': 1, 'b': 5, 'res': {...}, 'func': <function func at 0x000001F61817B700>, 'c': 5}
(2)局部空间
在函数内,获取的是调用之前所有的局部变量
a=1
b=5
res = locals()
def func(a):
a+=1
c=5
res = locals()
c2=5
print(res)
return a
c=5
func(4)
打印结果为:
{'a': 5, 'c': 5}
2.globals()
在函数外,获取的是打印之前的所有全局变量
返回的是内置系统全局字典
(1)通过字符串可以创建全局变量
dic = globals()
print(dic)
dic['wang']='age'
print(wang)
(2)可以批量创建全局变量