使用字典来引用函数内部的全局变量(Python)

问题描述 投票:0回答:2

我正在使用字典来引用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中函数内部的全局变量。我想使用该函数来更新全局变量。 (实际上,我的全局变量比...

python dictionary global
2个回答
0
投票

如果您认为需要这样做,则代码中存在设计缺陷。我真的不建议这样做。


0
投票

为名称name = 5分配值时,正在创建对5的引用,您可以使用标识符name进行访问。通常,如果您的代码范围较窄,则可以使用该引用

© www.soinside.com 2019 - 2024. All rights reserved.