将String转换为Object name

时间:2013-03-04 01:13:32

标签: python object instance

我需要这方面的帮助。如何将字符串转换为变量/对象/实例名称,因为我不知道如何对其进行分类。
假设我的代码是:

a = {}
b = {}

class Test:
    def getKeys(self, var):
        return var.keys() #where var refers to the dictionary and its a string initially

2 个答案:

答案 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)(不加引号)。