首页 > 解决方案 > 在 Python 中更改函数内部全局值的最佳方法?

问题描述

我在 Python 中使用大量全局变量进行了很多工作,当我的代码进行时,这些变量的值需要不断地更改。对我来说一个非常好的解决方案是将全局变量作为函数内部的参数,但是,据我所知,只能通过在函数期间实际命名特定变量来更改函数内部的全局变量定义。因为我使用很多不同的变量名,这将迫使我为每个变量名创建很多函数。

我想要的是这样的:

x = 5

def foo(_):
    global _
    
    _ = 10
    
    return _
    
foo(x)

print(x)

其中 x 现在将是 10 而不是实际输出,即 5。达到我想要的最有效的方法是什么?

标签: pythonfunctionvariablesglobal

解决方案


由于您x在打电话时会费心命名foo(x),所以做起来并不费力x = foo(x)

x = 5

def foo(_):
    _ = 10
    return _
    
x = foo(x)

print(x)

推荐阅读