我是python的新手,我想通过使用globals()来简单地更改变量但是由于某种原因我不断获得相同的outpu(1,2,3而不是a,b,c)。这有什么不对?
cwp = "01"
aw_sg = "01"
a01 = 1
a02 = 2
a03 = 3
p01g01a01 = "a"
p01g01a02 = "b"
p01g01a03 = "c"
print a01, a02, a03
def load_db(a01, a02, a03, cwp, aw_sg):
a01 = globals()["p%sg%sa01" % (cwp, aw_sg)]
a02 = globals()["p%sg%sa02" % (cwp, aw_sg)]
a03 = globals()["p%sg%sa03" % (cwp, aw_sg)]
return a01, a02, a03
load_db(a01, a02, a03, cwp, aw_sg)
print a01, a02, a03
答案 0 :(得分:2)
您使用globals()
函数来访问全局变量,但是您已将它们分配给函数内的局部变量,并且它不会更改全局变量。如果要更改全局变量,可以按功能将返回值重新分配给全局变量。
a01, a02, a03 = load_db(a01, a02, a03, cwp, aw_sg)
print a01, a02, a03