是否可以在不知道其名称的情况下访问以前创建的变量?

时间:2015-04-27 12:40:52

标签: python variables

我有一个代码:

globals()['a%s' % int(x+1)] = someclass(some_things)
asmenys.append(y)

如何将y变为我添加的变量(循环中的变量)? (不要对globals方法的使用感到生气;出于某些原因,这是非常生气的。)

1 个答案:

答案 0 :(得分:0)

您是否在询问如何从动态创建的globals()返回的dict中提取变量?如果是这样,就无法完成。 globals()不区分静态和动态创建的变量。

此外,虽然可以通过使用globals()locals()从范围中提取变量,但有可能有更好的方法来解决您的问题。如果你能告诉我们为什么你需要这个,也许我们可以指出你在一个不同的(可行的和正确的/惯用的)方向。

如果您的目标是为globals()返回的字典添加一个值,而您绝对需要这样做,那么就像使用任何其他字典一样:

globals()["a"] = "asd"
print globals()["a"]

以上打印asd