我需要这方面的帮助。如何将字符串转换为变量/对象/实例名称,因为我不知道如何对其进行分类。
假设我的代码是:
a = {}
b = {}
class Test:
def getKeys(self, var):
return var.keys() #where var refers to the dictionary and its a string initially
答案 0 :(得分:4)
自从我用Python做过任何事以来,它一直是永远的,但我确实记得曾经有过这个问题。我建议您查看eval()
函数。
答案 1 :(得分:3)
如果我理解正确,您的变量var
是一个字符串,可能是"a"
或"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)
(不加引号)。