Skip to main content
 首页 » 编程设计

python之如何用字典更新函数中的局部变量

2025年05月04日15qq78292959

重写python程序遇到的问题。

我将一些以前的全局变量移动到字典中,所以我必须重写使用这些变量的函数。

例如,

#old one 
a, b = 1, 2     
def func(c): 
    print a+b+c 
 
#new one 
d = dict(a=1,b=2) 
def func(c,d): 
    a = d['a'] 
    b = d['b'] 
    print a+b+c 

由于 dictionary d 很大,所以我正在寻找这样的东西

d = dict(a=1,b=2) 
def func(c,d): 
    locals().update(d) 
    print a+b+c 

我试过__dict__.update(d),但是__dict__不能直接访问。

或者对于d.items()中的key,value: setattr(obj,key,value) 有可能吗?如果是,如何将obj设置为函数本身?

请您参考如下方法:

您不能以这种方式以编程方式创建局部变量。

相反,只需通过访问字典的键直接使用字典。