#所以可尝试以下做法
#定义变量
a = 1
b = 2
c = 3
d = 4
#添加变量的字符串名字
vars = []
vars.append("a")
vars.append("b")
vars.append("c")
vars.append("d")
#也可以直接
#vars = ["a","b","c","d"]
#访问变量采用locals()[v],v是变量的字符串形式
for v in vars:
print(v,locals()[v])
Python的两个内置函数,locals 和globals,它们提供了基于字典的访问局部和全局变量的方式。
1、locals()是只读的。globals()不是。这里说的只读,是值对于原有变量的只读。其实还可以对locals()赋值的。见下图
上面的图就可以看出了,对locals()中增加了一个b变量。
2、locals和globals的返回不同
locals(...)
locals() ->dictionary
Update and return a dictionary containing the current scope's local variables.
globals(...)
globals() ->dictionary
Return the dictionary containing the current scope'sglobal variables.
也就是说globals返回的是当前模块的全局变量 locals返回的是局部变量。注意,locals返回的是当前所在最小命名空间的局部变量的一个拷贝。比如说在一个函数中调用locals(),那么返回的将是这个函数内部的局部变量。
记住,locals返回的变量都是原有变量的“拷贝”。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)