重写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设置为函数本身?
请您参考如下方法:
您不能以这种方式以编程方式创建局部变量。
相反,只需通过访问字典的键直接使用字典。
