将字典迭代地转换为全局变量集

时间:2019-03-06 11:05:33

标签: python global-variables global

我想迭代将字典转换为匹配的全局变量,如下所示:

# starting dictionary
parameters = {
    'a': 3,
    'b': 4
}

# result
a = 3
b = 4

现在我非常了解与全局变量相关的警告:这并不是要成为“生产”解决方案,而是一种将大量现有代码库用于优化目的而无需进行大量重组的方法。

有什么想法吗?

2 个答案:

答案 0 :(得分:3)

您可以使用本地人:

locals().update({'test': 2})

结果:

>>test
>>2

答案 1 :(得分:1)

# starting dictionary
parameters = {
    'a': 3,
    'b': 4
}

locals().update(parameters)
print(a)
print(b)

输出

3
4

OR

a, b = parameters['a'], parameters['b']

OR

Consider the Bunch alternative:

class Bunch(object):
    def __init__(self, parameters):
        self.__dict__.update(parameters)

parameters = {
    'a': 3,
    'b': 4
}
vars = Bunch(parameters)
print(vars.a, vars.b)

输出

3 4