Python 是否可以访问以前创建的变量而不知道其名称?

Python 是否可以访问以前创建的变量而不知道其名称?,python,variables,Python,Variables,我有一个密码: globals()['a%s' % int(x+1)] = someclass(some_things) asmenys.append(y) 我怎样才能使y成为我添加的变量(在循环中)?(不要因为使用globals方法而生气;这是出于某些原因。)您是否在问如何从动态创建的globals()返回的dict中提取变量?如果是这样的话,那就不可能了globals()不区分静态和动态创建的变量 此外,虽然可以通过使用globals()或locals()从作用域中提取变量,但有可能有更好

我有一个密码:

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

我怎样才能使
y
成为我添加的变量(在循环中)?(不要因为使用
globals
方法而生气;这是出于某些原因。)

您是否在问如何从动态创建的
globals()
返回的dict中提取变量?如果是这样的话,那就不可能了
globals()
不区分静态和动态创建的变量

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

如果您的目标是为
globals()
返回的dict添加一个值,并且您绝对需要这样做,那么您可以像处理任何其他dict一样:

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

上面打印的
asd

这真是个糟糕的主意。你能详细介绍一下“一些原因”吗?@jornsharpe这是一个需要命名的东西:)那么为什么不使用
集合。命名倍数,或者只是一个
dict
?几乎总有一个比摆弄
全局文件更好的选择。你能提供一个你真正想要达到的目标吗?@jornsharpe这是一个不改变我大量有用代码的方法吗?:)没有更多的信息,很难说。编辑问题,解释你在做什么以及为什么,你可能会发现你会得到更多有用的答案list@ignasaskielasas如果
asmenys
是一个元组(注意拼写),那么就不能
append
——元组是不可变的。