如何访问存储在变量中的字符串?(Python)

如何访问存储在变量中的字符串?(Python),python,python-2.7,naming-conventions,variable-names,Python,Python 2.7,Naming Conventions,Variable Names,因为我的上一个问题措辞相当糟糕,这里有一个不同的问题,它将为我提供同样的好处 首先,我想完成一件事:创建一个新的集合,并将该集合的名称设置为一个变量的值,一个我将其设置为等于的字符串,例如new_Set_name='buffalo' 我希望它类似于这个新的集合\u name=set[],但我不希望最终结果是一个名为new\u set\u name的集合,我希望集合的名称改为:buffalo 我尽了很大的努力使它尽可能不令人困惑,但如果是,请让我知道!我会设法解决它 我不太清楚您的意思,但是如果您

因为我的上一个问题措辞相当糟糕,这里有一个不同的问题,它将为我提供同样的好处

首先,我想完成一件事:创建一个新的集合,并将该集合的名称设置为一个变量的值,一个我将其设置为等于的字符串,例如new_Set_name='buffalo'

我希望它类似于这个新的集合\u name=set[],但我不希望最终结果是一个名为new\u set\u name的集合,我希望集合的名称改为:buffalo


我尽了很大的努力使它尽可能不令人困惑,但如果是,请让我知道!我会设法解决它

我不太清楚您的意思,但是如果您想使用变量值作为变量名,您需要在这样的类中使用setattr

class Test:
   def testmethod(self,name):
      setattr(self,name,Set())
那么你可以说

tmp = Test()
varname= 'buffalo'
tmp.testmethod(varname)
你会有

In [29]: type(t.buffalo)
Out[29]: sets.Set

您可以在模块名称空间中创建一个变量,如下所示

new_set_name = 'buffalo'
globals()[new_set_name] = set()
名称空间是由dict实现的,但是python在使用变量时会计算出上下文,所以不必直接引用它们。您可以使用其他模块的_udict__;变量在其他模块名称空间中查看或更新,但更习惯于使用setattr


您的意思是想使用变量的值作为变量名吗?如果是那样的话,我会检查这个。
import os
print(os.__dict__)
os.__dict__[new_set_name] = set()
setattr(os, new_set_name, set())