使用locals
与globals
函数
Python 提供了 locals
和 globals
两个内置函数,可以用来获取当前作用域所有的变量。
locals
函数
locals
函数可以获取当前作用域所有的变量。
- 在全局空间(函数外)调用
locals
,获取的是调用locals
之前所有的全局变量。 - 在局部空间(函数内)调用
locals
,获取的是调用locals
之前所有的局部变量。
a = 1
b = 2
def func():
a1 = 1
b2 = 2
res = locals()
c3 = 3
print(res) # This will print {'a1': 1, 'b2': 2}
d4 = 4
c = 3
func()
d = 4
globals
函数
globals
函数可以获取全局空间的所有全局变量。
- 在全局空间(函数外)调用
globals
,获取的是调用globals
之前所有的全局变量。 - 在局部空间(函数内)调用
globals
,获取的是调用globals
之前所有的全局变量。
a = 1
b = 2
def func():
a1 = 1
b2 = 2
res = globals()
c3 = 3
print(res) # This will print all global variables
d4 = 4
c = 3
func()
d = 4
使用globals
创建全局变量
globals
返回的是全局变量的字典,我们可以通过修改这个字典来创建全局变量。
dic = globals()
dic["wangwen"] = "18岁"
print(wangwen) # This will print '18岁'
我们也可以使用globals
来批量创建全局变量:
def func():
dic = globals()
for i in range(1, 5):
dic[ "a%d" % (i) ] = i # This will create global variables a1, a2, a3, a4
func()
print(a1, a2, a3, a4) # This will print 1, 2, 3, 4
标签:函数,global,globals,func,print,全局变量,locals
From: https://www.cnblogs.com/wbcde116/p/18048982