Python中有没有一种方法可以使用变量值创建Class实例

class Test(object):
    def __init__(self, object):
        self.name = object
        print "Created Object :",self.name

a1 = Test('a1')
print a1.name
b2 = 'a2'
b2 = Test(b2)
print a2.name


在此示例中,我希望类实例名称分别为“ a1”和“ a2”。我不能直接使用值'a2',因为它是通过其他过程计算得出的,但是类实例名称必须与之匹配,以便可以访问它。

在上面的示例中,它给出了错误:

 Created Object : a1
 a1
 Created Object : a2

 Traceback (most recent call last):
 File "D:\a\h", line 12, in <module>
 print a2.name
 NameError: name 'a2' is not defined

最佳答案

与您要查找的内容最接近的是将所有实例存储在字典中:

class Test(object):
    def __init__(self, n):
        self.name = n
        print "Created Object :",self.name

d = {}
d['a1'] = Test('a1')
print d['a1'].name
b2 = 'a2'
d[b2] = Test(b2)
print d['a2'].name


引用对象的变量名称与对象本身之间没有联系。

关于python - 使用变量值创建类实例,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11777925/

10-12 16:50
查看更多