我需要这方面的帮助。如何将字符串转换为变量/对象/实例名称,因为我不知道如何对其进行分类。
假设我的代码是:
a = {}
b = {}
class Test:
def getKeys(self, var):
return var.keys() #where var refers to the dictionary and its a string initially
自从我用 Python 做过任何事情以来,它已经永远存在了,但我确实记得曾经遇到过这个问题。我建议你看看这个eval()
功能。
如果我理解正确,您的变量var
是一个字符串,可能是"a"
or "b"
。您想使用该字母来选择要查找的正确字典全局变量。
我建议将您的字典放入另一个字典中,您可以使用键来按名称查找它:
my_dicts = {"a":a, "b":b}
class Test:
def getkeys(self, dict_name):
return my_dicts[dict_name].keys()
然而,这可能只是一个设计问题。与其向getkeys
方法发送变量名,不如简单地发送字典本身并使用您当前的代码?
而不是Test().getkeys("a")
, 调用Test().getkeys(a)
(无引号)。