我正在使用字典来引用Python中函数内部的全局变量。我想使用该函数来更新全局变量。 (实际上,我的全局变量比这更复杂。)
global_variable_A=5
global_variable_B=1
dictionary={'A':global_variable_A,'B':global_variable_B}
def f(x,glob):
global global_variable_A
dictionary[glob]+=x
f(2,'A')
print(global_variable_A)
这将返回5而不是7。我理解为什么,有什么要让Python知道我的意思是变量dictionary[glob]
引用全局变量而不是局部变量,同时仍然通过字典引用该变量吗?] >
感谢您的时间,如果我错过了完全显而易见的内容,我们深表歉意。
我正在使用字典来引用Python中函数内部的全局变量。我想使用该函数来更新全局变量。 (实际上,我的全局变量比...
如果您认为需要这样做,则代码中存在设计缺陷。我真的不建议这样做。
为名称name = 5
分配值时,正在创建对5
的引用,您可以使用标识符name
进行访问。通常,如果您的代码范围较窄,则可以使用该引用