如何分配一个名称是动态生成的python变量?

如何分配一个名称是动态生成的python变量?,python,Python,假设我要执行以下操作: name = 1.2 问题是,‘name’的字面名称是动态提供的(可以是‘mike=1.2’、‘john=1.2’、…) 希望我解释了我的问题,并提前感谢您的提示。您可以这样做 globals()['yourvariables'] = variable 这会将变量添加到全局命名空间中。我不会评论这是个好主意还是个坏主意。根据需要的范围,您可以使用globals()或locals(): >>> globals()['foo'] = 'bar' >>> foo 'bar'

假设我要执行以下操作:

name = 1.2
问题是,‘name’的字面名称是动态提供的(可以是‘mike=1.2’、‘john=1.2’、…)

希望我解释了我的问题,并提前感谢您的提示。

您可以这样做

globals()['yourvariables'] = variable
这会将变量添加到全局命名空间中。我不会评论这是个好主意还是个坏主意。

根据需要的范围,您可以使用
globals()
locals()

>>> globals()['foo'] = 'bar'
>>> foo
'bar'

然而,如果你问这个问题,那就意味着你做错了——生成变量本质上是个坏主意。为此,您应该使用字典之类的结构。

下面是一个如何将其作为字典执行的示例

>>> people = {}
>>> people['mike'] = 1
>>> people['john'] = 2
>>> people['mike']
1
>>> people['john']
2
>>> print people
{'mike': 1, 'john': 2}

另请参阅文档,这通常是错误的做法。你想通过这个来完成什么?几乎可以肯定有更好的办法。有时人们问问题是因为他们好奇我们应该为这种好奇提供答案,而不是只关心应该做什么和不应该做什么saying@cobie这就是为什么“你想通过这个实现什么?”很重要的原因。