python - 在函数内动态更改全局变量值

标签 python python-2.7

要更改函数内的全局变量,我们可以按以下步骤操作:

假设全局变量的名称为“x”:

def change_x_globally( new_value ):
    global x 
    x = new_value

这种方法需要事先对变量的名称进行硬编码,如果有多个全局变量,这种方法会变得麻烦且不切实际

所以我会输入全局变量的名称,例如:如果我们想更改 x,我们会输入字符串“x”

因此所需的最终函数将具有以下签名:

def change_global_variable( variable_name, new_value ):
    pass

有什么想法吗?

最佳答案

您可以使用 globals() 取回全局变量的字典,然后通过字符串对其进行寻址,例如 globals()['x'] = new_value

关于python - 在函数内动态更改全局变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50003849/

相关文章:

python - 重新排序三个列表并保持索引之间的关系?

python - 在具有请求的线程之间共享 HTTP 连接池的推荐方法是什么?

python - 无法判断 Python 函数是否正在调用?

python - Unicode 提取

python - 为什么在 Python 2 中打开和迭代文件句柄的速度比 Python 3 快两倍?

python-2.7 - 如何在TextBox中选择文本

python - Python 中的快速傅立叶图

python - 为什么 Python 2.7 比 3.2 快?

python - 通过套接字发送图像并显示它

python - getattr 和 setattr 在嵌套子对象/链接属性上?