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

How to access the string stored in the variable? (Python)

由于我的上一个问题措辞不佳,这里有一个不同的问题可以为我提供同样的好处!

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

我希望它是这样的 new_set_name = Set([]) 除了我不希望最终结果是名称为 new_set_nameSet 我想要 Set 改为:buffalo

我努力使它尽可能不混淆,但如果是,请告诉我!我会尽力解决的!

我不太清楚你的意思,但是如果你想使用变量值作为变量名,你需要在 class 中使用 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()

命名空间由 dicts 实现,但 python 会在您使用变量时找出上下文,因此您不必直接引用它们。您可以使用 __dict__ 变量查看或更新其他模块命名空间,但更习惯使用 setattr

import os
print(os.__dict__)
os.__dict__[new_set_name] = set()
setattr(os, new_set_name, set())